我正在研究的产品需要以这样一种方式构建,即我们有一个由可插入框架驱动的报价引擎。插件框架 - 可以有太多的插件程序集?
我们目前正在考虑使用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