我正在开发的产品需要以这样一种方式构建,即我们有一个由可插拔框架驱动的报价引擎。
我们目前正在考虑使用 MAF,因此我们可以利用主机和插件接口的分离来进行版本控制。
但是,我担心我们会有很多程序集,很可能每个报价引擎插件都有一个 - 其中可能有 100 个,我们还需要支持多个版本,所以可能有总共有很多组件。
报价引擎也使用 WF 来驱动它,这意味着每个插件的每个 AppDomain 都需要一个与之关联的工作流运行时。这看起来很重量级,但是我们可以卸载不常用的插件。
这看起来是一个好的设计吗?我们还研究了使用 IOC 容器加载插件类型的单个 AppDomain 解决方案,但我担心鉴于它们的数量,我们将无法卸载任何程序集。