我正在研究的產品需要以這樣一種方式構建,即我們有一個由可插入框架驅動的報價引擎。插件框架 - 可以有太多的插件程序集?
我們目前正在考慮使用MAF,所以我們可以利用主機和插件接口的版本分離。
但是,我擔心我們會有很多程序集,我們可能會爲每個引擎引擎插件添加一個 - 其中可能會有100個插件,我們還需要支持多個版本,所以總共可能有很多組件。
報價引擎也使用WF來驅動它,這意味着每個插件的每個AppDomain都需要一個與其關聯的工作流運行時。這似乎相當重量級,但我們可以卸載不常使用的插件。
這是否看起來像一個很好的設計?我們還查看了使用IOC容器加載外掛程序類型的單個AppDomain解決方案,但是我擔心我們將無法卸載任何程序集,因爲它們的數量有限。
你的意思是MEF?如果是這樣,你可能想重申這一點。 – TrueWill 2009-09-14 22:18:40
不,我的意思是MAF - 管理的Addin框架,它是.NET 3.5的一部分。因爲MEF是一個可擴展性框架,所以MEF只允許您將插件添加到您正在使用的AppDomain中。 MAF的主要的一點是,加載項可以在自己獨立的AppDomain,您可以independantly確保主要的AppDomain運行。 – spooner 2009-09-15 05:18:43