# PrismProgram **Repository Path**: kellyzhanyl/prism-program ## Basic Information - **Project Name**: PrismProgram - **Description**: Prism for WPF - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-25 - **Last Updated**: 2023-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 框架模块介绍 Modoules:Modules是能够独立开发、测试、部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服务的模块 (如Logging、Exception Management) Module Catalog:在Prism中,Module Catalog指明了要Load哪些Module,和用什么样的顺序去Load这些Module。 Shell:Shell是宿主应用程序(host application),modules将会被load到Shell中。Shell定义了应用程序的整体布局和结构,而不关心寄宿其中的Module,Shell通常实现通用的application service和infrastructure,而应用的逻辑则实现在具体的Module中,同时,Shell也提供了应用程序的顶层窗口。 Views:Views是应用中展现特定功能的视图,它展现UI、定义交互行为,并且通过数据绑定的方式与ViewModel进行交互。 Regions:Regions是应用程序UI的逻辑区域,它很像一个PlaceHolder,Views在Regions中展现,很多种控件可以被用作Region:ContentControl、ItemsControl、ListBox、TabControl。Views能在Regions编程或者自动呈现,Prism也提供了Region导航的支持。 Navigation:Prism支持两种导航:state-based导航和view-switching导航。 EventAggregator:组件通常要和其它的组件或者服务进行通信。为此,Prism提供了 EventAggregator组件,这个组件实现pub-sub事件机制,允许一些组件发布事件,另一些组件去订阅事件而无需两个组件之间的引用。 Dependency Injection container:Prism使用依赖注入模式来管理组件之间的依赖,Prism被设计使用Unity、Mef等依赖注入容器。 Services:Services是用来实现非UI相关功能的逻辑,例如logging、exception management、data access。Services可以被定义在应用程序中或者是Module中,Services通常被注册在依赖注入容器中,使得其它的组件可以很容易的定位这个服务。 Controllers:Controller被用来控制在Region中哪个View将会被呈现,同时控制这个View的创建和初始化。