什么是WPF的棱镜?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我最近遇到过一种叫做棱镜的东西。运行该项目的微软将其描述为

WPF和Silverlight中复合应用程序的指南。

即使在阅读了更详细的说明之后,我恐怕也不知道它实际上是什么。

我希望在这里有人能够给我一个关于棱镜究竟是什么的清晰简洁的解释,以及为什么我应该学习它。我几年来一直是WPF开发人员,使用MVVM我的公平份额,并且最近遇到了使用Prism的人,但个人感觉在这里有一点不合适。

特别是,我想知道以下几点:

  • 棱镜是否仅仅(或主要)是MSDN网站上给出的小册子?它是否包含任何库,如果是的话,究竟是什么?
  • Prism是MVVM框架吗?我应该将它作为“官方微软MVVM框架”与其他人一起使用吗?还是我自己的?
  • 它提供依赖注入吗?这是否与MEF有关?
  • 作为WPF / Silverlight开发人员,我还应该了解有关Prism所做的事情。
提问于
用户回答回答于

Prism是微软模式和实践团队在WPF和Silverlight中构建“复合应用程序”的官方指导。

其目的是提供关于构建大规模应用的最佳实践的指导,这些应用在开发和可维护性方面具有灵活性。

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

棱镜是否仅仅(或主要)是MSDN网站上给出的小册子?它是否包含任何库,如果是的话,究竟是什么?

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

Prism是MVVM框架吗?我应该将它作为“官方微软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)棱镜使用依赖注入(Unity),但不“提供”它

4)Imo提供了很多功能,但在学习曲线上很重要。对于以您为唯一开发人员的小型项目,您可能不需要它提供的抽象和工具。

扫码关注云+社区