插件框架 - 可以有太多的插件程序集吗?

时间:2009-09-14 21:59:59

标签: .net plugins inversion-of-control add-in maf

我正在开发的产品需要以一种可插拔框架驱动的引用引擎的方式构建。

我们目前正在考虑使用MAF,因此我们可以利用主机和插件接口的分离来进行版本控制。

但是,我担心我们会有很多组件,我们可能会为每个引用引擎添加一个 - 其中可能有100个未来,我们还需要支持多个版本,所以总共可能有很多集会。

引用引擎还使用WF来驱动它,这意味着每个插件的每个AppDomain都需要与之关联的工作流运行时。这看起来非常重量级,但我们可以卸载不经常使用的插件。

这看起来像是一个好设计吗?我们还查看了使用IOC容器加载插件类型的单个AppDomain解决方案,但我担心的是,考虑到数量,我们将无法卸载任何程序集。

1 个答案:

答案 0 :(得分:0)

每个AppDomain和Assembly确实增加了一些开销,但我不知道任何特定的限制。

你唯一能做的就是测试(例如通过编写代码来生成许多非常相似但不同的程序集来尝试使用100,250,1000 ......)并查看影响是什么。 / p>