1. 什么是Prism
Prism是一个用于在 WPF、Xamarin Form、Uno 平台和 WinUI 中构建松散耦合、可维护和可测试的 XAML 应用程序框架。
Prism是一个用于在WPF、Xamarin Forms、Uno Platform和WinUI中构建松耦合、可维护和可测试的XAML应用程序的框架。 每个平台都有独立的版本,它们将按照独立的时间表开发。 Prism提供了一组设计模式的实现,这些模式有助于编写结构良好和可维护的XAML应用程序,包括MVVM、依赖注入、命令、EventAggregator等。 Prism的核心功能是。net Standard 2.0、。net Framework 4.5 / 4.7支持的共享代码库。 那些需要特定于平台的内容在目标平台的相应库中实现。 Prism还提供了这些模式与目标平台的良好集成。 例如,Prism For Xamarin Forms允许您使用一个单元可测试的导航抽象,但它是位于平台概念和导航api之上的层,因此您可以充分利用平台本身提供的功能,但是以MVVM的方式完成的。
Prism使用包含重要架构设计原则(如关注点分离和松耦合)的设计模式,帮助您设计和构建包含重要表示和业务逻辑的应用程序,这些表示和业务逻辑通常与后端系统和服务交互,并使用分层架构, 可以在物理上跨多个层部署。 预计该应用程序将在其生命周期内显著发展,以响应新的需求和商业机会。 简而言之,这些应用程序是“为持久而构建”和“为改变而构建”的。 不需要这些特性的应用程序可能无法从Prism中受益。
1.1. 框架目标
Prism 旨在帮助您设计和构建丰富、灵活且易于维护的 WPF 应用程序。棱镜图书馆实施的设计模式体现了重要的建筑设计原则,如关注点分离和松散耦合。使用棱镜库提供的设计模式和功能,您可以使用松散耦合的组件设计和构建应用程序,这些组件可以独立演变,但可以轻松无缝地集成到整体应用中。
Prism 设计围绕核心建筑设计原则,即关注点分离和松散耦合。这使得Prism可以提供许多好处,包括:
-
重复使用:
Prism 通过允许轻松开发、测试和集成到一个或多个应用程序中来促进重用。通过重复使用单元测试的组件,可以通过依赖性注入在运行时间轻松发现和集成,以及通过使用可在应用程序中重复使用的应用程序级功能封装模块,在应用级别实现重复使用。 -
可扩展性:
Prism 通过管理组件依赖性、使组件在运行时间更容易集成或替换为替代实现以及提供将应用程序分解为可独立更新和部署的模块的能力,帮助创建易于扩展的应用程序。Prism库本身的许多组件也可以扩展或更换。 -
灵活性:
Prism 有助于创建灵活的应用程序,使它们能够随着新功能的开发和集成而更容易更新。Prism还允许使用共同服务和组件开发 WPF 应用程序,从而允许以最适当的方式部署和使用应用程序。它还允许应用程序根据角色或配置提供不同的体验。 -
团队发展:
Prism 通过允许单独的团队独立开发甚至部署应用程序的不同部分来促进团队发展。Prism 有助于最大限度地减少跨团队依赖性,并允许团队专注于不同的功能领域(如 UI 设计、业务逻辑实现和基础架构代码开发),或不同业务级别的功能领域(如简介、销售、库存或物流)。 -
质量:
Prism 通过允许对共同服务和组件进行全面测试并提供给开发团队,有助于提高应用程序的质量。此外,通过提供对常见设计模式的充分测试实施,以及充分利用这些模式所需的指导,Prism 允许开发团队专注于其应用要求,而不是实施和测试基础架构代码。
1.2. 先决条件
-
XAML (Extensible Application Markup Language)[XAML(可扩展应用标记语言)]:
声明性地定义和初始化 WPF 应用程序中的用户界面的语言。 -
Data binding[数据绑定]
这就是 UI 元素与 WPF 中的组件和数据连接的方式。 -
Resources[资源]
以下是 WPF 中创建和管理样式、数据模板和控制模板的方式。 -
Commands[命令]
以下是用户手势和输入连接到控件的方式。 -
User controls[用户控制]
这些组件提供自定义行为或自定义外观。 -
Dependency properties[依赖属性]
这些是通用语言运行时间 (CLR) 属性系统的扩展,使属性设置和监控能够支持数据绑定、路由命令和事件。 -
Behaviors[行为]
行为是封装交互式功能的对象,可轻松应用于用户界面中的控件。
2. 官方地址
2.1. github地址
https://github.com/PrismLibrary/Prism
基于Prism的VisualStudio扩展包模板: Prism Template Pack,下载它后可以快速创建基于Prism的项目。
2.2. 官方学习文档:(以下推荐MSDN,微软的)
https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff921153(v=pandp.40)
4. Prism框架内容
框架中包括 MVVM、依赖注入、Command、Message Event、导航、弹窗等功能。
5. 基本概念
Modules(模块):
模块是可独立开发、测试和(可选)部署的功能包。在许多情况下,模块由单独的团队开发和维护。典型的棱镜应用程序由多个模块构建。模块可用于表示特定的业务相关功能(例如,配置文件管理),并封装实现该功能所需的所有视图、服务和数据模型。模块还可用于封装可用于多个应用程序重复使用的常见应用程序基础架构或服务(例如,记录和例外管理服务)。
Module catalog(模块目录):
在复合应用程序中,模块必须由主机应用程序在运行时间发现并加载。在 Prism 中,模块目录用于指定要加载的模块、加载时间以及按什么顺序加载。模块目录由模块经理和模块加载器组件使用,它们负责在模块处于远程时下载模块,将模块的组件加载到应用程序域中,并初始化模块。Prism 允许以不同的方式指定模块目录,包括程序化地使用代码、声明性地使用 XAML 或使用配置文件。如果需要,您也可以实施自定义模块目录。
Shell(壳):
外壳是主机应用程序,可加载模块。外壳定义了应用程序的整体布局和结构,但它通常不知道它将托管的确切模块。它通常实现通用应用程序服务和基础架构,但应用程序的大部分功能和内容都实现在模块中。外壳还提供顶层窗口或视觉元素,然后托管加载模块提供的不同 UI 组件。
Views(视图):
视图****是 UI 控件,可将 UI 封装为应用程序的特定功能或功能区域。视图与 MVVM 模式一起使用,该模式用于将 UI 与应用程序的演示逻辑和数据之间的问题进行彻底分离。视图用于封装 UI 并定义用户交互行为,从而允许独立于基础应用功能更新或替换视图。视图使用数据绑定与视图模型类进行交互。
View models(视图模型):
视图模型是封装应用程序演示逻辑和状态的类。它们是 MVVM 模式的一部分。查看模型封装了应用程序的大部分功能。查看模型定义属性、命令和事件,视图中的控件可以将这些属性、命令和事件与数据绑定在一起。
Models(模型):
模型类封装应用程序数据和业务逻辑。它们用作 MVVM 模式的一部分。模型封装数据以及任何相关的验证和业务规则,以确保数据一致性和完整性。
Commands(命令):
命令用于封装应用程序功能,使其能够独立于应用程序的 UI 进行定义和测试。它们可以定义为命令对象或视图模型中的命令方法。棱镜提供代表委员会类和复合通信类。后者用于表示所有一起调用的命令集合。
Regions(区域):
命令用于封装应用程序功能,使其能够独立于应用程序的 UI 进行定义和测试。它们可以定义为命令对象或视图模型中的命令方法。棱镜提供代表委员会类和复合通信类。后者用于表示所有一起调用的命令集合。
Navigation(导航):
导航定义为应用坐标因用户与应用程序的交互或内部应用状态更改而更改到其 UI 的过程。棱镜支持两种导航样式:基于状态的导航,其中对现有视图的状态进行更新以实现简单的导航方案,以及创建新视图并在应用程序 UI 中替换旧视图的视图切换导航。视图切换导航使用基于统一资源标识符 (URI) 的导航机制与棱镜区域相结合,以便实施灵活的导航方案。
EventAggregator(事件聚合器):
复合应用程序中的组件通常需要以松散耦合的方式与应用程序中的其他组件和服务进行通信。为了支持这一点,Prism 提供了事件聚合器组件,该组件实施了酒吧子事件机制,从而允许组件发布事件和其他组件来订阅这些事件,而不需要提及其他事件。事件聚合器通常用于允许在不同模块中定义的组件相互通信。
Dependency injection container(依赖性注射容器):
复合应用程序中的组件通常需要以松散耦合的方式与应用程序中的其他组件和服务进行通信。为了支持这一点,Prism 提供了事件聚合器组件,该组件实施了酒吧子事件机制,从而允许组件发布事件和其他组件来订阅这些事件,而不需要提及其他事件。事件聚合器通常用于允许在不同模块中定义的组件相互通信。
Services(服务):
服务是封装非 UI 相关功能的组件,例如记录、异常管理和数据访问。服务可以通过应用程序或模块内定义。服务通常在依赖性注射容器中注册,以便根据需要定位或构建,并由依赖它们的其他组件使用。
Controllers(控制器):
控制器是用于协调在应用程序 UI 区域内显示的意见的构建和初始化的类。控制器封装了确定要显示哪些视图的演示逻辑。控制器将使用 Prism 的视图切换导航机制,该机制提供可扩展的 URI 导航机制,以协调区域内意见的构建和放置。应用控制器模式定义了一个抽象概念,该抽象图映射到此责任。文章来源地址https://www.toymoban.com/news/detail-449631.html文章来源:https://www.toymoban.com/news/detail-449631.html
Bootstrapper(引导器):
控制器是用于协调在应用程序 UI 区域内显示的意见的构建和初始化的类。控制器封装了确定要显示哪些视图的演示逻辑。控制器将使用 Prism 的视图切换导航机制,该机制提供可扩展的 URI 导航机制,以协调区域内意见的构建和放置。应用控制器模式定义了一个抽象概念,该抽象图映射到此责任。
到了这里,关于简介WPF的Prism框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!