最近我经常遇到一个叫的东西。运行该项目的微软将其描述为
WPF和Silverlight中复合应用程序的
指南。
即使在阅读了更详细的描述之后,我也几乎不知道它到底是关于什么的,我担心。
我希望在这里有人能给我一个清晰而简洁的解释,说明什么是棱镜,以及为什么我要学习它。我已经做了几年的WPF开发人员,使用MVVM是我的合理选择,最近也遇到了使用Prism的人,但我个人觉得这里有点不对劲。
特别是,我想知道以下几点:
发布于 2011-06-08 09:43:47
Prism是Microsoft Patterns and Practices Team在WPF和Silverlight中构建“复合应用程序”的官方指南。
它的目的是为构建在开发和可维护性方面灵活的大型应用程序的最佳实践提供指导。
这包括关于依赖注入(通过Unity或MEF)、布局(包括使用MVVM)、复合事件处理等方面的指导。
从字面上看,
只是(或主要)一本小册子,就像在MSDN网站上提供的那样?它是否包含任何库,如果包含,具体是为了什么?
它是一本书,但也包括支持的库(在GitHub站点上)。
是MVVM框架吗?我应该使用它作为“官方的Microsoft MVVM框架”而不是其他的框架吗?
是也不是。它包括使用MVVM的指南,但远不止是一个MVVM框架。它本身并不是一个"MVVM框架“--尽管它确实包含了MVVM指导。
它提供依赖注入了吗?它与MEF有这样的关系吗?
是。它最初包括Unity,但最新版本包括为DI使用MEF。
作为一个WPF/
开发人员,我应该知道任何关于棱镜做什么的事情。
值得看看他们是如何做事情的。它们有一个非常精细的“区域”概念,以及良好的事件聚合支持。它还包括同时针对WPF、Silverlight和Windows Phone进行开发的良好实践。
发布于 2011-06-08 09:36:40
它是一个用于构建WPF和Silverlight应用程序的框架。
http://compositewpf.codeplex.com/
在微软将其更名为“CompositeWPF”之前,它曾被称为“棱镜”。
答案:
1) Prism是一个MVVM框架,可用作应用程序的基础
2)根据您的具体需求,我建议您这样做。你应该发布另一个带有具体细节的问题,这样你就可以得到一些具体的答案。
3) Prism使用依赖注入(Unity),但不“提供”它
4) Imo,Prism提供了许多功能,但学习曲线很重。对于以您为唯一开发人员的小型项目,您可能不需要它提供的抽象和工具。
发布于 2021-11-25 16:08:57
关于棱镜是什么的一个更现代的答案,在Github home page上得到了回答。
Xamarin是一个框架,用于在
、Xamarin Forms、Uno平台和WinUI中构建松散耦合、可维护和可测试的应用程序。
更详细地说,Prism是一个库集合,用于帮助实现遵循Microsoft推荐的最佳实践设计和体系结构模式的企业应用程序。
Prism由以下Nuget包组成:
Prism支持不同的DI (依赖反转)/ IoC (控制反转)技术和库。它附带了用于依赖注入的Unity库,以及额外的IoC助手函数和类。
这些库涉及的一些领域包括:
将事件消息传递和handling
Prism是.NET基金会的一部分。
您可能会对Windows社区工具包感兴趣,它遵循了Prism采用的许多相同的原则和模式。
https://stackoverflow.com/questions/6273357
复制相似问题