回答
它与OSGi类似。当然,有一些差异,因为MAF利用AppDomains,其中AFAIK没有Java等价物(IIRC OSGi使用子JVM)。它存在一些问题 - 它不是由微软大力推广的,这可能解释了社区缺乏兴趣。
我唯一真正的抱怨是,它需要你以相当严格的方式构建你的项目,使主机和托管程序集有点“MAF意识”。它绝对有效,尽管我不确定那里有多少东西不能由一个好的开发者在相对较短的时间内自行开发。
我不认为OSGi使用子JVM,只是在封面下的类加载器魔术。 –
除了明显的差异:
MAF
- 微软驱动的,因此专有
- 语言是C#
OSGi的
- 由财团驱动,开放
- 语言是Java
也有不少的功能差异。例如,MAF更多地是关于主机< - >插件体系结构,其中您有一个主要主机,并且插件提供了其中的附加功能;而OSGi提供了一个框架,其中模块不仅可以与一个中央单元交谈,还可以相互交流。
为MAF编写插件相当重要 - 您必须提供7个部分 - 主机,主机视图,主机适配器,合同,加载项适配器,加载项视图,加载项 - 以使整个工作。 使用OSGi,您只需使用一个普通的Java JAR文件和一个声明依赖项的清单文件,并且还可以选择性地提供用于处理IoC的头(如果您更喜欢使用控制模式的反转)。
哇,谢谢!找到了解Java和.NET技术的人很少见。你能否提供一些关于这个MEF vs OSGi的问题 - 所有的答案都不是很全面:http://stackoverflow.com/questions/709532/is-mef-osgi-for-net – drozzy
- 1. Zend框架:资源插件vs方法
- 2. Eclipse与OSGi框架?
- 3. Java插件框架选择
- 4. 没有OSGi框架的BIRT
- 5. OSGI Spring MVC的JSP框架
- 6. arm-linux板的OSGi框架
- 7. Android SDK是OSGI框架吗?
- 8. 比较OSGi测试框架
- 9. 企业OSGi框架:成熟度比较Apache Aries vs. Eclipse Gemini
- 10. 框架与插件
- 11. Delphi插件框架
- 12. 框架vs WebBrowser
- 13. Microsoft bot框架消息编辑事件
- 14. ERROR 500博特框架Microsoft
- 15. Microsoft Sync框架源代码
- 16. Servlets vs MVC框架
- 17. Yii框架vs Struts2
- 18. Dojo dijit框架vs一些CSS框架
- 19. 第三方框架vs私人框架?
- 20. 如何从OSGi框架之外调用OSGi服务。
- 21. OSGi的java.lang.NoClassDefFoundError:组织/ OSGi的/框架/ BundleContext的
- 22. API vs工具包vs框架vs库
- 23. 聊天插件或框架
- 24. Win-Rt的插件框架
- 25. Java EE插件框架
- 26. Zend框架负载插件
- 27. jQuery插件基础框架
- 28. 插件问题 - Zend框架
- 29. Zend框架:插件路径
- 30. Javascript框架日历插件
对于任何未来的OSGi访问者来说,这是一个非常好的MAF如何实际工作的概述。人们可以看到它与OSGi并不完全相同,但更多地是为了创建Many(插件)一对一(主机)。在MAF中编写“捆绑”(某种意义上)仍然是可能的,但每个捆绑包需要大约六个**类别的样板。每个都必须在自己的目录中。阅读[文章](http://www.developerfusion.com/article/9396/creating-extensible-applications-with-maf/)。 – drozzy