可组合应用程序是否必然意味着基于插件的体系结构

时间:2012-04-27 17:09:02

标签: c# .net architecture extensibility

我目前正在开发一个应用程序,并希望为其添加新功能。

一种是直接更新应用程序的代码。

另一种方法是提供一个可扩展性层,其中将添加新功能。

在Plugin架构上阅读多篇文章并使用MEF创建可组合应用程序时,我有点困惑这两个术语是否实际上意味着相同的事情,如果不是它们的区别是什么?

此外,我有兴趣知道任何有助于“开放”我的应用程序的优秀设计解决方案,以便将来更容易扩展(新的未来可以作为“扩展”添加)

1 个答案:

答案 0 :(得分:1)

您肯定需要一个基于插件的架构来拥有通用的可扩展性框架。

但是,您不一定需要依赖容器或MEF。

可能就像为实现接口的类型定义IPlugIn接口和扫描程序集一样简单。然后实例化该类型的实例以继续。