WPF复合材料应用:棱镜模块或MEF零件?

时间:2012-10-08 05:07:24

标签: wpf prism mef

我需要编写一个复合WPF应用程序,其中的部分可能由其他团队开发。这些部分现在实际上是独立的应用程序,我们希望将它们置于共同的“屋顶”之下。

我考虑构成的两个主要选项是棱镜模块与MEF部件,我不是100%确定选择哪个,因为两者都有利弊。请注意,这不是关于IoC容器的选择,而是关于发现可插拔组件。我几乎认为MEF不能用作IoC容器。

如果我使用MEF进行可插拔性,那么最大的好处就是它已经融入.NET框架中,所以没有版本问题。另一方面,我将不得不(部分地)重新发明Prism地区经理和其他UI组合功能等机制。

如果我使用Prism模块,我会获得更丰富的集成功能(区域,事件聚合器等),但为了工作,每个人必须使用相同版本的Prism,并且最好使用相同版本的Unity,避免不愉快的意外。升级到下一版Prism / Unity将成为一项挑战。

我想听听您对此选择的看法。

1 个答案:

答案 0 :(得分:0)

几年前我有类似的选择并选择Prism。我很高兴我做到了。除非我正在构建一个简单的应用程序,否则我不会考虑在没有Prism的情况下这样做。您可以让不同的开发组在模块上近距离工作,并在完成后集成它们。错误和需求变化也是如此:更容易处理。

是的,你会希望每个人都使用相同的版本,但这是一个很小的代价,非常普遍。如果您有具体问题,请与我们联系。