摘要:http://www.cnblogs.com/zxjay/archive/2008/09/02/1282427.html插件是遵循一定的编程规范实现的来扩展程序功能的组件。接口定义publicinterfaceIAddIn{stringName {get; }stringRun(stringstr);}Name为插件的显示名称。Run为插件的操作。接口实现分别新建Class library工程,编译为.DLL程序集。1.实现字符串反转功能。publicclassReverseString : IAddIn{privatestring_Name="Revert String"
阅读全文
文章分类 - MAF/MEF
Managed AddIn Framework(MAF)
Managed Extensibility Framework(MEF)
摘要:.NET Framework 3.5提供了一个框架,即System.Addin命名空间,通过该命名空间我们可以进行插件开发,用程序集System.AddIn来保存和创建插件。这个框架也称为Managed AddIn Framework(MAF)。 插件还有其他称呼,如add-on或plug-in。 先前研究过SharpDevelop,SharpDevelop采用框架——插件的可扩展的体系结构,毕竟代码水平比较高,对它的插件开发方式没有学习彻底。 .NET Framework 3.5 的System.Addin命名空间让插件开发变的简单很多了。1.什么是AddIns 在应用程序运行期间允许...
阅读全文
摘要:在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等。在 Microsoft 的平台上,.NET Framework 自身内部包含组件模型和 System.Addin。同时存在若干种开源解决方案,包括 SharpDevelop 的 SODA 体系结构和“控制反转”容器(如 Castle Windsor、Structure Map、Spring.Net 以及Unity)。 虽然.NET平台下,包括MS在内的各种方案已经遍地开花,但是MEF是第一个随着CLR发布的解决方案。 官方说法: Managed Extensibility Frame..
阅读全文
摘要:背景Team希望开发一个插件的平台去让某搜索引擎变得更好。主要用于采集一些不满意信息(DSAT)给Dev。这些信息会由不同的team提供不同的tool分析。有的提供仅仅是一个website,有的提供了api。有的提供了service。所以我们设想做一个插件的平台。让那些team提供一些dll。我们只需要把这些dll放在我们的platform里。由于对插件开发一无所知。所以重头开始做调研。为什么需要插件框架-扩展性问题假设您的应用程序必须包含大量可能需要的较小组件,并负责创建和运行这些组件。解决这一问题的最简单的方法是:将这些组件作为源代码包括在您的应用程序中,然后通过代码直接调用它们。这种做法
阅读全文

浙公网安备 33010602011771号