01_Prism介绍
Prism是一个框架,用于在WPF、Xamarin Forms 和 UNO/Win UI 应用程序中构建松耦合、可维护和可测试的XAML应用程序。
Prism提供了一组设计模式的实现,这些设计模式有助于编写良好且可维护的XAML应用程序,包括:
- MVVM
- dependecy injection
- commands
- EventAggregator
Prism能干嘛
通常客户端开发中会遇到很多的挑战:
- 需求变化
- 新的商业机会
- 新技术
因此构建一个灵活的、易修改、易扩展的应用程序至关重要。这需要一个架构,允许应用程序的各个部分是独立开发和测试,可以修改或更新后,不影响应用程序的其余部分,相当于是隔离的单独部分。
Prism适合用来创建这种复合程序。比如多个后端系统创建多个终端软件:
Prism也适合让不同团队维护的独立组件在UI集成显示,下图中每个高亮框中的UI都是一个单独的组件
一个典型的Prism程序结构
官方地址
github : https://github.com/PrismLibrary/Prism
文档地址 : https://prismlibrary.com/docs/index.html
创建一个Prism应用程序
安装 VS 扩展包 - Prism Template Pack
- 点击 扩展 -> 管理扩展(M)
- 在弹出框中输入 prism
- 安装 Prism Template Pack
创建新项目
///
/// Interaction logic for App.xaml
///
public partial class App
{
// 创建主窗体
protected override Window CreateShell()
{
return Container.Resolve();
}
// 向容器中注册对象
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton();
}
// ModuleCatalog
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
moduleCatalog.AddModule();
}
}
PrismApplicationBase 抽象类中有几个重要的属性和方法:
- Container - Unity容器对象,可以用来创建对象
- RegisterTypes() - 用来在容器中注册对象
- CreateShell() - 用来创建主窗体