Prism是一个开发和设计模块化WPF应用的基础框架,里面包含了MVVM pattern和设计示例。当前最新的版本是Prism 5.0,官方网站:https://compositewpf.codeplex.com/

Prism 5.0较4.0有相当的改动,其中主要变动的两个部分:

1. 提供Portal Class Library(PCL)库。这样就可支持WPF,Windows Phone 8,Windows Store 8.1平台而不用修改代码。

2. 把之前一个大的Prism DLL拆分成多个功能块,这些功能块可以单独应用。模块主要有Prism.Composition, Prism.Mvvm, Prism.PubSubEvents, 和 Prism.Interactivity。

  • 我们可以只引入我们想用的模块,如果只用event相关的,只需引用PubSubEvent模块;
  • 使用PCL,平台无关;
  • 更新快且简单;

注意,如果想在.NET 4.0,Sliverligh, Windows Phone 7.0开发,得使用Prism 4.1及以下版本。

Prism设计目标

  • 模块化(module)
  • 减少相互依赖,松耦合
  • 重用
  • 高质量
  • 可扩展

Prism主要概念

  • Module: Module是可以被独立开发、测试和部署的包或功能块。比如一个独立的业务模块,一个基础的Logging模块等。
  • Module Catalog: 主要是用来指定加载哪些module,什么时候加载,加载的顺序。可以使用代码或XAML文件或config文件来设置。
  • Shell: 应用程序的Host,用来定义应用程序UI的全局区域结构,容纳加载的modules。
  • Views: 定义应用程序的UI。
  • View Model:处理UI行为和状态。
  • Model:应用程序的业务模型和数据。
  • Commands
  • Regions:定义UI区域
  • Navigation
  • EventAggregator
  • DI Container
  • Services
  • Controllers
  • Bootstrapper

《Prism 5.0源码走读》Prism 5.0简介-LMLPHP

后续文章会逐个解读Prism这些主要概念是如何实现的。

05-11 20:01