所谓模块是指实现某个特定功能的包,一般是一个独立程序集。该包可以被单独开发,测试,部署。实现多人协作开发,解耦,以及复用。一个应用可以包含一个或多个模块。
在组合式应用中,应用程序需要找到所有找到的模块,这里就需要使用模块目录。正如目录本身含义,目录是用于声明以及索引内容区域。模块目录用于标明什么模块被导入,什么时候导入,以什么顺序导入。我们可以使用多种方式指明模块目录,如代码,XAML或者配置文件。
所谓壳就是应用程序导入模块的容器,该容器不了解模块的具体内容。Shell确定整体布局以及应用程序组织架构。一般一个项目仅包含一个Shell,但支持多个Shell。
所谓域是定义在应用程序UI(如Shell或者Views)中的逻辑占位符,简而言之,为view提前占座。有很多控件可充当占位符,如ContentControl,ItemsControl, ListBox, TabControl。Prism使用域进行导航,可以使用RegionManager获取域,该RegionManager使用RegionAdapter和RegionBehavior协调特定域中view的显示。
所谓事件聚合器是一套实现发布-订阅(pub-sub)事件的机制。它允许某个部件发布一个事件,另一个部件订阅该事件,这个过程二者不需要添加任何指向对方的引用,完全解耦。常用于组件与组件或者组件与服务间的通信。
所谓服务是封装非界面功能的组件,该服务不包含界面渲染,组织功能。服务一般定义在主项目或者一个单独的模块项目中。通常需要在依赖注入容器中注册,供其他模块使用。服务分为三个级别:
所谓引导程序就是连接应用程序,Prism库服务以及依赖注入容器的胶水。在引导程序中你需要完成初始化Shell,配置模块目录,配置拦截业务实现等功能。依据不同依赖注入容器,我们可以创建不同类型的引导程序,主要实现方法是继承UnityBootstrapper或者MefBootStrapper。
所谓Shell就是应用程序主界面,简单来说就是UI容器。每个Shell可包含多个域(Region),每个域可包含多个视图(view)。
原文:https://www.cnblogs.com/formula123/p/13912213.html