1.概要
Prism介绍
Github: https://github.com/PrismLibrary/Prism
开发文档:https://prismlibrary.com/docs/
Prism是一个框架,用于在WPF、Xamarin Forms、Uno Platform和WinUI中构建松散耦合、可维护和可测试的XAML应用程序。
设计目标 为了实现下列目的:创建能够由模块组成的程序,这些模块能够被单独地编写、组装、部署,并且对于程序来说是可选的 最小化团队之间的依赖,让每个团队专注与特定的领域。比如UI、逻辑代码实现或者是架构代码的开发。通过架构提高不同团队之间的复用能力 通过抽象团队通用服务提高程序质量 迭代添加新的功能
Prism被设计用来帮助你设计和实现丰富、灵活、易于维护的WPF程序。Prism实现了多种设计模式,突出架构设计的松耦合、关注点分离等原则。使用设计模式和Prism提供的额能力,你可以通过独立开发的松耦合组件轻松的集成到整个应用程序中,从而开发一个应用程序。Prism围绕架构原则的分散关注点和松耦合原则而设计的。这使得Prism提供能以下的好处:
重用。Prism通过允许组件和服务能够轻松的被开发、测试、集成到一个或多个程序来实现重用。组件级别的复用是通过依赖注入来轻松地发现和集成单元测试级别的组件。应用级别的复用是重用封装了应用级别能力的模块。
可扩展。Prism通过管理组件依赖,允许组件在运行时很容易地被集成或者被其他实现所替换,使得程序能够很容易地被扩展。并且将程序分解到模块,使得模块能够独立地更新和部署。Prism库中的许多组件本身就可以被扩展或者是替换。
灵活。Prism通过允许像开发集成新能力一样更新功能。Prism还允许WPF程序使用通用服务和组件开发,允许程序以最适当地方式去部署和使用。还允许程序基于不同的角色和配置,提供不同的使用功能。
团队开发。Prism促进团队开发,通过允许不同的团队单独开发甚至部署不同的应用程序部分。通过让团队专注于不同的功能领域或业务功能领域来减少团队之间的依赖。
质量。Prism通用让开发团队充分地测试服务和组件提高程序质量。此外,由于通用服务和组件都被完全地测试过了,开发团队能够专注于程序需求而不是如何实现和测试基础代码。(以上内容均来自网络。)
2.详细内容
1.业务功能:
(1)登录邮箱
(2)邮件收发、抄送(协议、接口、文字编辑、布局)、回复 、垃圾箱、收发件箱、标星邮件、标星邮件列表、邮件(增、删、查)。
(3)通讯录(新建、删除、修改联系人)、联系人详情、联系人列表。
(4)设置(账号)
2.非业务功能:登录、自动更新、最大化最小化、关闭等。
3.界面交互:命令区(主、副命令区划分等级根据影响范围来确定)、工作区、交互逻辑。
4.资源:数据资源(样式、数据内容、模板、动画、触发器等)、非托管资源(图片、音乐等文件资源)、语言资源、字体资源等。
3.建项
1.VS扩展中下载 Prism Template Pack项目模板。
2.新建项目时,使用模板‘Prism Blank App’创建应用,选择DryIOC
3.创建一个业务模块
IoC:是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
按照以上思想设计的框架都叫IoC,它只是这一类框架的总称。IoC的框架有很多种例如MEF、Autofac、Castle Windsor、Unity。
初学可简单理解为有两个部分组成一个业务容器,和若干个业务模块组成。都塞到容器中进行管理。
Plug:是业务划分独立出的模块,里面具体的业务实现和常规的MVVM一样。