我需要编写一个复合WPF应用程序,其中的部分可能由其他团队开发。这些部分现在实际上是独立的应用程序,我们希望将它们置于共同的“屋顶”之下。
我考虑构成的两个主要选项是棱镜模块与MEF部件,我不是100%确定选择哪个,因为两者都有利弊。请注意,这不是关于IoC容器的选择,而是关于发现可插拔组件。我几乎认为MEF不能用作IoC容器。
如果我使用MEF进行可插拔性,那么最大的好处就是它已经融入.NET框架中,所以没有版本问题。另一方面,我将不得不(部分地)重新发明Prism地区经理和其他UI组合功能等机制。
如果我使用Prism模块,我会获得更丰富的集成功能(区域,事件聚合器等),但为了工作,每个人必须使用相同版本的Prism,并且最好使用相同版本的Unity,避免不愉快的意外。升级到下一版Prism / Unity将成为一项挑战。
我想听听您对此选择的看法。
答案 0 :(得分:0)
是的,你会希望每个人都使用相同的版本,但这是一个很小的代价,非常普遍。如果您有具体问题,请与我们联系。