回答
它與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