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

  1. 点击 扩展 -> 管理扩展(M)
  2. 在弹出框中输入 prism
  3. 安装 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() - 用来创建主窗体

我的公众号 HelloPragram