繁体   English   中英

WPF复合应用程序:棱镜模块还是MEF零件?

[英]WPF Composite Application: Prism modules or MEF parts?

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

我考虑的两个主要选择是棱镜模块和MEF部件,我不确定100%选择哪个,因为两者都有优点和缺点。 请注意,这与IoC容器的选择无关,而与发现可插拔组件有关。 我对MEF不用作IoC容器的观点非常满意。

如果我使用MEF来实现可插入性,那么最大的好处就是它可以嵌入到.NET框架中,因此没有版本控制问题。 另一方面,我将不得不(部分地)重新构造诸如棱镜区域管理器和其他UI合成功能的机制。

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

我想听听您对选择的意见。

几年前,我有一个类似的选择,然后选择Prism。 我很高兴自己做到了。 除非我构建一个琐碎的应用程序,否则我不会考虑没有Prism的情况。 您可以让不同的开发人员小组在其模块上几乎隔离地工作,并在完成后将其集成。 错误和需求变更也是如此:更容易处理。

是的,您希望每个人都使用相同的版本,但这是一个很小的代价,而且很普遍。 如果您有特定问题,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM