简介:笔者准备写三篇文章来把prism的使用介绍一下,希望通过这三篇文章可以是小伙伴们能基于Prism构建自己的项目。截至2022年3月1号,Prism框架更新到了8.1,笔者所使用的都是8.0以上的版本,对于小于8.0的版本,可能会有些方法属性的不同,开发环境是VS2019。
一、Prism前世今生
维基百科中的定义:
Windows Presentation Foundation(WPF)是美国微软公司推出.NET Framework 3.0及以后版本的组成部分之一,它是一套基于XML、.NET Framework、向量绘图技术的展示层开发框架,微软视其为下一代用户界面技术,广泛被用于Windows Vista的界面开发。
WPF使用一种新的XAML(eXtensible Application Markup Language)语言来开发界面,这将把界面开发以及后台逻辑很好的分开,降低了耦合度,使用户界面设计师与程序开发者能更好的合作,降低维护和更新的成本。
说明:Prism是WPF的一个框架,整合了wpf中使用的一些功能,像command、IOC等,不需要使用者再去重新编写功能函数去实现。
二、应用场景
官方翻译:
Prism被设计用来帮助你设计和实现丰富、灵活、易于维护的WPF程序。Prism实现了多种设计模式,突出架构设计的松耦合、关注点分离等原则。使用设计模式和Prism提供的额能力,你可以通过独立开发的松耦合组件轻松的集成到整个应用程序中,从而开发一个应用程序。
Prism围绕架构原则的分散关注点和松耦合原则而设计的。这使得Prism提供能一下的好处:
- 重用。Prism通过允许组件和服务能够轻松的被开发、测试、集成到一个或多个程序来实现重用。组件级别的复用是通过依赖注入来轻松地发现和集成单元测试级别的组件。应用级别的复用是重用封装了应用级别能力的模块。
- 可扩展。Prism通过管理组件依赖,允许组件在运行时很容易地被集成或者被其他实现所替换,使得程序能够很容易地被扩展。并且将程序分解到模块,使得模块能够独立地更新和部署。Prism库中的许多组件本身就可以被扩展或者是替换。
- 灵活。Prism通过允许像开发集成新能力一样更新功能。Prism还允许WPF程序使用通用服务和组件开发,允许程序以最适当地方式去部署和使用。还允许程序基于不同的角色和配置,提供不同的使用功能。
- 团队开发。Prism促进团队开发,通过允许不同的团队单独开发甚至部署不同的应用程序部分。通过让团队专注于不同的功能领域或业务功能领域来减少团队之间的依赖。
- 质量。Prism通用让开发团队充分地测试服务和组件提高程序质量。此外,由于通用服务和组件都被完全地测试过了,开发团队能够专注于程序需求而不是如何实现和测试基础代码。
三、应用程序结构
不知道是哪个版本的配图了,虽然到现在8.1了,但是其结构没怎么变,还是上面这些东西,一种MVVM设计方式,Region(区域管理器)、Module(模块)、Command(绑定相关)、Eevent Aggregator (事件聚合器)、Dialog(对话框)等。
目前8.0以上,IOC Container只保留有Unity和DryIoc。
下一篇章写下项目新建和程序加载。