wpf - WPF 的 Prism 是什么?

标签 wpf mvvm prism

我遇到过一个名为 Prism 的东西最近很多。运行该项目的微软将其描述为

Guidelines for composite applications in WPF and Silverlight.

即使阅读了更详细的描述,恐怕我也几乎不知道它到底是关于什么的。

我希望有人能给我一个清晰简洁的解释,说明 Prism 到底是什么以及为什么我应该学习它。我已经成为 WPF 开发人员几年了,我也使用过 MVVM,最近也遇到过使用 Prism 的人,但我个人感觉有点不合时宜。

我特别想知道以下几点:

  • Prism 实际上只是(或主要)一本小册子,如 on the MSDN site 所示?它是否包含任何库(如果有)究竟是为了什么?

  • Prism 是 MVVM 框架吗?我应该将它用作“官方 Microsoft MVVM 框架”,而不是其他框架还是我自己的框架?

  • 它提供依赖注入(inject)吗?它与 MEF 有这样的关系吗?

  • 作为 WPF/Silverlight 开发人员,我还应该了解 Prism 的功能。

最佳答案

Prism 是 Microsoft Patterns and Practices Team在 WPF 和 Silverlight 中构建“复合应用程序”的官方指南。

它旨在为构建在开发和可维护性方面灵活的大型应用程序的最佳实践提供指导。

这包括依赖注入(inject)(通过 Unity 或 MEF)、布局(包括使用 MVVM)、复合事件处理等方面的指导。

<小时/>

Is Prism literally just (or mainly) a booklet, as given on the MSDN site? Does it include any libraries, if so for what exactly?

这是一本书,但还包括支持库(在 GitHub 网站上)。

Is Prism an MVVM framework? Should I be using it as the "official Microsoft MVVM framework" over others out there or my own?

是和否。它包含使用 MVVM 的指南,但不仅仅是一个 MVVM 框架。它本身实际上并不是一个“MVVM 框架”——尽管它确实包含 MVVM 指南。

Does it provide dependency injection? Does it relate to MEF at all in this way?

是的。它最初包含 Unity,但最新版本包含使用 MEF 进行 DI。

Anything else I should know about what Prism does, as a WPF/Silverlight developer.

值得一看的是他们是如何做事的。他们有非常详尽的“区域”概念,以及良好的事件聚合支持。它还包括同时针对 WPF、Silverlight 和 Windows Phone 进行开发的良好实践。

关于wpf - WPF 的 Prism 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6273357/

相关文章:

wpf - Winforms属性网格高dpi ui重叠

WPF/MVVM 设计建议

c# - 如何拦截导航栏后退按钮单击 Prism Xamarin Forms?

c# - 文件不是项目的一部分或生成操作未设置为 "Resource"

wpf - 如何在没有扩展器的情况下对数据网格进行分组

wpf - 这是糟糕的设计吗? MVVM 模式在单个类上有许多命令

WPF/Prism 库和多个 shell

c# - 使用MEF,如何导出ItemsControl的 View ?

wpf - 如何将段落数据绑定(bind)到 TextBlock?

c# - Rhino Mocks - 期望/ stub 来自外部依赖的非虚拟方法