WPF MVVM实战系列教程(一、Prism框架介绍)
Prism框架介绍
Prism框架最初是由Microsoft patterns & practices 团队创建,它的目的是为了构建松耦合、可维护且可测试的 XAML 应用程序。
支持 WPF、.NET MAUI、Uno Platform 和 Xamarin Forms 平台。
每个平台均提供独立版本,且开发时间线相互独立。
Prism 实现了多项有助于编写结构良好且易于维护的 XAML 应用程序的设计模式,包括 MVVM、依赖注入、命令、事件聚合器等。
Prism的核心功能基于跨编译的.NET Standard和.NET 4.5/4.8库共享代码库实现。
平台特有的功能则在目标平台的对应库中实现。Prism还实现了这些模式与目标平台的深度集成。
例如Prism for Xamarin Forms提供的导航抽象层既支持单元测试,又基于平台原生导航概念与API构建,使开发者能充分利用平台特性,同时保持MVVM架构的规范性。
6.3版本是Microsoft patterns & practices 团队维护的最后一个版本,后续将代码放到社区,7.0版本是社区维护的第一个版本,目前最新是9.0版本。
Prism 9 标志着应用程序开发领域的一次重大飞跃,其核心在于致力于实现跨平台API的统一。这一突破将为开发者开启无限可能:既能将代码从旧版应用程序中迁移出来,也能实现不同应用开发平台间的无缝转换,从而最大化代码复用率,同时大幅降低开发成本。
说明:稳定项目建议使用Prism 8.1.97版本
Prism项目地址:
https://github.com/PrismLibrary/Prism
Prism WPF示例代码地址:
https://github.com/PrismLibrary/Prism-Samples-Wpf
何时需要使用Prism框架
Prism这个框架的最初目的是为了方便我们构建强大的XAML应用程序,它包含的功能比较多,MVVM只是它的一部分功能。
使用Prism框架没有硬性规定,但是如果我们只是用到它的MVVM功能,推荐使用CommunityToolkit.MVVM包,它更轻量级。
Prism更偏向于大型项目,例如多人协同时需要进行模块化开发。
Prism中涉及的概念需要我们对常用的设计模式有一定的了解,例如,模块化/组合式开发、MVVM、观察者模式、中介者模式等等。
大部分在前面的文章中已经介绍过,关于模块化,可以参考下面的文章:
https://en.wikipedia.org/wiki/Modular_programming
正是因为使用了大量的设计模式,一部分初学者刚接触Prism框架时,会难以理解其中的概念。都会有一个疑问,就是:这里为什么是这么调用的?
我的建议是循序渐进,前期不理解没关系,可以根据我文章中的内容和示例代码,多理解几遍,然后再自己尝试用一些小例子去进行演练,慢慢就能理解其中的原理。
Prism框架包含的核心组件功能
- Commands/命令
- Dependency Injection/依赖注入
- Dialog Service/对话框服务
- Event Aggregator/事件聚合器
- Mvvm
- Modularity/模块化
- Navigation/导航
参考资料:
https://docs.prismlibrary.com/docs/index.html

浙公网安备 33010602011771号