Prism框架(一)——概述Prism框架的设计目的是用来帮助构建丰富、灵活、易维护的WPF和Si
提问者:mfksnr120(ID:187460) | 悬赏 0.0 希赛币 | 回答数:0 | 关注度:8 | 提问时间:2014-04-13
Prism框架(一)—— 概述
Prism框架的设计目的是用来帮助构建丰富、灵活、易维护的WPF和Silverlight应用程序。
关键概念
Modules: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进行交互。
View Model和Presenters:View Model用来封装应用程序的UI逻辑及其状态。
Model:Model被用来封装数据和相应的验证,以及相关的业务规则来保证数据的一致性和正确性。
Commands:Command被用来封装应用程序功能,Prism提供了Delegate Command和CompositeCommand两个类。
Regions:Regions是应用程序UI的逻辑区域,它很像一个PlaceHolder,Views在Regions中展现,很多种控件可以被用作Region:ContentControl、ItemsControl、ListBox、TabControl。Views能在Regions编程或者自动呈现,Prism也提供了Region导航的支持。
Shell、Region和View的关系如图所示:
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的创建和初始化。
Bootstrapper:Bootstrapper用来初始化应用程序级别的组件和服务,它也被用来配置和初始化module catalog和Shell 的View和View Model。功能如图:
Multi-targeting:Prism支持开发的应用程序同时满足WPF和Silverlight平台。
Prism Library架构
综合以上,Prism的整体架构如图:
相关推荐
WPF是.NET Framework中的一个UI框架,用于构建桌面应用程序,而Prism则是微软推广的一种用于构建模块化、可维护的WPF和UWP应用的设计模式集合。 **WPF(Windows Presentation Foundation)** WPF是微软.NET ...
PRISM是一个用于构建可复用、模块化、可测试的WPF和UWP应用的框架,而MQTT是一种轻量级的发布/订阅消息协议,广泛应用于物联网(IoT)领域。 首先,让我们了解WPF。WPF是.NET Framework的一部分,用于构建具有丰富...
Prism框架,全称Composite Application Guidance for WPF,是微软 Patterns & Practices 团队发布的一个开源库,专门为WPF和UWP应用程序提供了一套实现MVVM和其他设计模式的最佳实践。Prism包含了许多功能模块,如...
Prism是一个流行的框架,它可以帮助开发者构建适用于.NET平台的模块化应用程序。本手册介绍的是Prism框架的官方指南,并说明了如何将Markdown文件转换成PDF格式。Prism框架主要针对WPF(Windows Presentation ...
Prism是由微软 Patterns & Practices 团队开发的一个开源框架,主要用于帮助开发人员遵循最佳实践,创建模块化、可扩展和测试驱动的WPF或Universal Windows Platform (UWP) 应用程序。Prism提供了一套强大的工具和...
综上所述,这个压缩包中的“Client”可能是一个包含示例代码和资源的客户端应用程序项目,它演示了如何使用Prism框架构建一个具有模块化、样式丰富且结构清晰的WPF主界面。开发者可以通过研究这个例子来学习和掌握...
Prism框架由微软 Patterns & Practices 团队开发,它提供了一系列最佳实践和设计模式,如模块化、依赖注入、事件总线、命令绑定等,简化了MVVM应用程序的构建。Prism库包括了Unity、Autofac和DryIoc三种依赖注入容器...
**Prism框架**是由微软 Patterns & Practices 团队开发的,它是一个用于构建XAML基础的Windows客户端应用程序的框架,包括WPF和Silverlight。Prism的目标是促进可维护性和可测试性的应用程序开发,通过引入模块化、...
Prism是Microsoft Patterns & Practices团队开发的一个开源框架,主要用于构建模块化、可维护、可测试的Windows Presentation Foundation (WPF)应用程序。这个“Prism7.1.0.431_WPF_官方中文文档”提供了Prism 7.1...
Prism是微软 Patterns & Practices 团队开发的一个框架,专门用于构建Windows Presentation Foundation(WPF)应用程序。Prism 5 是其一个版本,它引入了一系列设计模式和最佳实践,以帮助开发者创建可维护、可扩展...
**WPF Prism TemplatePack** 是一个专门为Windows Presentation Foundation (WPF) 开发者设计的工具包,它包含了一系列预先配置的模板,可以帮助开发者快速启动基于Prism框架的应用程序开发。Prism是Microsoft ...
Prism 是一个开源框架,专为设计和构建Windows Presentation Foundation (WPF) 应用程序而设计,旨在简化开发过程并提高代码的可维护性和可扩展性。该框架提供了许多最佳实践和设计模式,帮助开发者解决在构建复杂...
Prism是.NET Framework中用于构建模块化、可扩展且遵循最佳实践的WPF和UWP应用程序的一个框架。 首先,让我们理解一下MVVM设计模式。MVVM是一种UI设计模式,它将应用程序分为三个主要组件:模型(Model)、视图...
WPF(Windows Presentation Foundation)是.NET Framework的一部分,提供了一种强大的方式来构建丰富的、具有图形用户界面的应用程序。而Prism是一个开源的UI框架,它支持MVVM(Model-View-ViewModel)设计模式,有...
Prism是微软 Patterns & Practices 团队开发的一个开源框架,主要用于构建Windows Presentation Foundation (WPF)和Universal Windows Platform (UWP)应用。它提供了多种设计模式和最佳实践,帮助开发者遵循MVVM...
Prism是一个为.NET框架设计的框架,其目的在于帮助开发者构建松散耦合、易于维护和扩展的复合应用程序。Prism提供了设计模式实现,比如模块化开发和模型-视图-视图模型(MVVM)模式。文档中的内容详细介绍了使用...
Prism是Microsoft为.NET Framework设计的一个轻量级、模块化的应用程序开发框架,特别适合于构建可维护性和可扩展性极强的WPF和UWP应用。下面我们将深入探讨WPF和Prism框架的应用及MVVM模式。 WPF是.NET Framework...
在Windows Presentation Foundation (WPF)中,Prism框架提供了一种强大的方式来构建模块化、可维护的用户界面。本篇将深入探讨Prism中的核心概念,包括Bootstrapper、Shell、Module、Region以及Navigation的使用,...
WPF(Windows Presentation Foundation)是.NET Framework中的一个UI框架,用于构建丰富的桌面应用程序。Prism是Microsoft Patterns & Practices团队开发的一个库,它为WPF和Silverlight提供了模块化、依赖注入、...