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