设计目标:
帮助开发人员设计和建立丰富、灵活且易于维护的Wpf和Silverlight的应用程序
Prism的好处:
重复使用
可扩展性
灵活性
团队的发展
质量
Prism的主要概念
1、Modules(模块)
可以自主开发、测试、部署的包
2、Modules catalog(模块目录)
用于指定哪些模块被加载及顺序
3、Shell(壳)
定义整体布局和应用程序结构
4、Views(视图,mvvm的一部分)
界面
5、ViewModels(视图模型,mvvm一部分)
就是mvc模式中的c,封装应用程序的表示逻辑和状态
6、Models(模型)
封装应用程序的数据和业务逻辑
7、Commands(命令)
8、Regions(区域)
逻辑视图,shell或视图中定义的占位符
9、Navigation(导航)
协调应用程序用户交互结果或内部状态更改的过程
10、EventAggregator(事件集合)
11、Dependency injection container(依赖注入容器)
管理组件间的依赖关系
12、Services(服务)
封装非ui组件相关的功能
13、Controllers(控制器)
14、Bootstrapper(引导程序)
用于初始化应用程序组件和服务
15、Multi-targeting(多目标)
典型应用程序体系结构
Prism的大多数应用程序共享的加载的模块可以访问的服务和组成的外壳应用程序定义用于显示顶级视图区域。
Shell定义来指定哪些模块将会在启动时加载或点播,酌情合适的编录。
此外定义依赖注入容器,它允许在运行时完成组件依赖项。
共享的服务和组件注册与容器的在应用程序启动时被引导程序启动。
各个模块封装整个应用程序功能的一部分,并使用视图和模型分离的模式,如 MVVM,view,model,viewmodel和服务组件。
在模块加载时,在模块中定义的视图将显示Shell所定义的区域内。