最近我经常碰到一种叫做Prism的东西。运行该项目的Microsoft将其描述为
WPF和Silverlight中的复合应用程序准则。
恐怕即使在阅读了更详细的说明之后,我也几乎不知道它的实际含义。
我希望在这里有人可以给我一个清晰简洁的解释,关于棱镜实际上是什么以及为什么我应该学习它。我已经是WPF开发人员两年了,我使用了MVVM,并且最近遇到了使用Prism的人,但是我个人对此有点不了解。
特别是,我想知道以下几点:
最近我经常碰到一种叫做Prism的东西。运行该项目的Microsoft将其描述为
WPF和Silverlight中的复合应用程序准则。
恐怕即使在阅读了更详细的说明之后,我也几乎不知道它的实际含义。
我希望在这里有人可以给我一个清晰简洁的解释,关于棱镜实际上是什么以及为什么我应该学习它。我已经是WPF开发人员两年了,我使用了MVVM,并且最近遇到了使用Prism的人,但是我个人对此有点不了解。
特别是,我想知道以下几点:
Answers:
Prism是Microsoft模式和实践团队的官方指南,用于在WPF和Silverlight中构建“复合应用程序”。
它旨在为构建大规模应用程序的最佳实践提供指导,这些最佳实践在开发和可维护性方面很灵活。
这包括有关依赖项注入(通过Unity或MEF),布局(包括使用MVVM),复合事件处理等的指南。
正如MSDN网站上所提供的,Prism真的只是(或主要是)一本小册子吗?它是否包括任何库(如果有的话)到底是什么?
这是一本书,但也包含用于支持的库(在GitHub站点上)。
Prism是MVVM框架吗?我是否应该将它用作“正式的Microsoft MVVM框架”而不是我自己的?
是的,没有。它包括有关使用MVVM的指南,但远不止MVVM框架。实际上,它本身不是“ MVVM框架”,尽管它确实包含了MVVM指南。
它提供依赖注入吗?这样是否完全与MEF有关?
是。它最初包括Unity,但最新版本包括使用MEF for DI。
作为WPF / Silverlight开发人员,我对Prism所做的任何其他了解。
值得一看的是他们如何做事。它们具有非常详尽的“区域”概念,并且具有良好的事件聚合支持。它还包括用于同时针对WPF,Silverlight和Windows Phone进行开发的良好实践。
这是用于构建WPF和Silverlight应用程序的框架。
http://compositewpf.codeplex.com/
在Microsoft将其重命名为“ CompositeWPF”之前,它曾经被称为“ Prism”。
答案:
1)Prism是一个MVVM框架,可用作您的应用程序的基础
2)我建议根据您的特定要求。您应该发布另一个具有特定详细信息的问题,以便获得一些特定的答案。
3)Prism使用依赖注入(Unity),但不“提供”它
4)Imo,Prism提供了很多功能,但是学习曲线繁重。对于由您作为唯一开发人员的小型项目,您可能不需要它提供的抽象和工具。