Visual Studio,Office,Delphi,Eclipse等等都有插件式的框架。Eclipse将插件模式发挥到了及至,因为他是开源的,开发社区开发出了不少极具商业价值的插件了。微软推行的VSIP (Visual Studio Industry Partners)合作伙伴计划,以及合作伙伴开发出的800多种产品,加上更多的整个微软平台上的合作伙伴,这一庞大的产业生态环境,只有Eclipse平台可以与他相提并论。现在Mono.Addins也是一个插件式的框架,Mono.Addins与Vistual Studio 和Eclipse 不同的是Mono.Addins是Mono框架的一部分,而不是开发工具的一部分。Mono.Addins框架来自于Monodevelop开发工具的插件框架,MonoDevelopSharpDevlop的移植,而SharpDevelop的插件框架思想来源于Eclipse。期望.NET社区一样能够创造Eclipse社区一样的辉煌。Mono网站上对Mono.Addins的介绍的特性如下:
  • Supports descriptions of add-ins using custom attributes (for simple and common extensions) or using an xml manifest (for more complex extensibility needs).
  • Support for add-in hierarchies, where add-ins may depend on other add-ins.
  • Lazy loading of add-ins.
  • Provides an API for accessing to add-in descriptions, which will allow building development and documentation tools for handling add-ins.
  • Dynamic activation / deactivation of add-ins at run time.
  • Allows sharing add-in registries between applications, and defining arbitrary add-in locations.
  • Allows implementing extensible libraries.
  • In addition to the basic add-in engine, it provides a Setup library to be used by applications which want to offer basic add-in management features to users, such as enabling/disabling add-ins, or installing add-ins from on-line repositories.
具体内容参看Introduction to Mono.Addins.