什么是WPF的棱镜?
我最近碰到过一个叫棱镜的东西。 运行该项目的微软将其描述为
WPF和Silverlight中复合应用程序指南。
即使在阅读了更详细的描述之后,我恐怕也不知道实际上是什么。
我希望有人能够给我一个关于棱镜究竟是什么的清晰简洁的解释,为什么我应该学习它。 我几年来一直是WPF开发人员,用MVVM公平的分享,最近遇到了使用Prism的人,但个人觉得这里有点不合适。
特别是,我想知道以下几点:
-
棱镜是否仅仅(或主要)是MSDN网站上给出的小册子? 它包括任何库,如果是的话,究竟是什么?
-
棱镜是MVVM框架吗? 我应该使用它作为“官方微软MVVM框架”比其他人还是我自己的?
-
它提供dependency injection吗? 这是否与MEF有关?
-
作为WPF / Silverlight开发人员,我还应该了解有关Prism所做的事情。
Prism是微软模式和实践小组在WPF和Silverlight中构build“复合应用程序”的官方指导。
其目的是提供指导,build立在开发和可维护性方面灵活的大规模应用的最佳实践。
这包括dependency injection(通过Unity或MEF),布局(包括使用MVVM),复合事件处理等方面的指导。
棱镜是否仅仅(或主要)是MSDN网站上给出的小册子? 它包括任何库,如果是的话,究竟是什么?
这是一本书,还包括支持库(在GitHub网站上)。
棱镜是MVVM框架吗? 我应该使用它作为“官方微软MVVM框架”比其他人还是我自己的?
是和不是。 它包括使用MVVM的指导,但不仅仅是一个MVVM框架。 它本身并不是一个“MVVM框架” – 尽pipe它包含MVVM指导。
它提供dependency injection吗? 这是否与MEF有关?
是。 它最初包括Unity,但最新版本包括使用MEF for DI。
作为WPF / Silverlight开发人员,我还应该了解有关Prism所做的事情。
值得看看他们如何做事。 他们有一个非常复杂的“区域”概念,以及良好的事件聚合支持。 它还包括与WPF,Silverlight和Windows Phone同时开发的良好实践。
这是一个构buildWPF和Silverlight应用程序的框架。
http://compositewpf.codeplex.com/
在Microsoft将其重命名为“CompositeWPF”之前,它曾被称为“Prism”。
回答:
1)Prism是一个MVVM框架,可用作应用程序的基础
2)我build议这取决于你的具体要求。 你应该发表另一个具体的细节问题,以便你可以得到一些具体的答案。
3)棱镜使用dependency injection(Unity),但不“提供”它
4)Imo,Prism提供了很多function,但在学习曲线上很重要。 对于以您为唯一开发人员的小型项目,您可能不需要它提供的抽象和工具。