`
pcajax
  • 浏览: 2162275 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Prism框架(一)——概述Prism框架的设计目的是用来帮助构建丰富、灵活、易维护的WPF和Si

 
阅读更多
Si

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的关系如图所示:

  676x606

  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。功能如图:

  721x616

  Multi-targeting:Prism支持开发的应用程序同时满足WPF和Silverlight平台。

  Prism Library架构

  综合以上,Prism的整体架构如图:

  1021x753


分享到:
评论

相关推荐

    WPF, Prism框架下的串口调试助手

    WPF是.NET Framework中的一个UI框架,用于构建桌面应用程序,而Prism则是微软推广的一种用于构建模块化、可维护的WPF和UWP应用的设计模式集合。 **WPF(Windows Presentation Foundation)** WPF是微软.NET ...

    wpf prism框架 MQTT客户端和服务器端

    PRISM是一个用于构建可复用、模块化、可测试的WPF和UWP应用的框架,而MQTT是一种轻量级的发布/订阅消息协议,广泛应用于物联网(IoT)领域。 首先,让我们了解WPF。WPF是.NET Framework的一部分,用于构建具有丰富...

    WPF,Prism框架

    Prism框架,全称Composite Application Guidance for WPF,是微软 Patterns & Practices 团队发布的一个开源库,专门为WPF和UWP应用程序提供了一套实现MVVM和其他设计模式的最佳实践。Prism包含了许多功能模块,如...

    Prism Manual.pdf Prism8框架官方手册 MD 文件转pdf

    Prism是一个流行的框架,它可以帮助开发者构建适用于.NET平台的模块化应用程序。本手册介绍的是Prism框架的官方指南,并说明了如何将Markdown文件转换成PDF格式。Prism框架主要针对WPF(Windows Presentation ...

    基于Prism框架的MVVM设计模式的WPF实例代码

    Prism是由微软 Patterns & Practices 团队开发的一个开源框架,主要用于帮助开发人员遵循最佳实践,创建模块化、可扩展和测试驱动的WPF或Universal Windows Platform (UWP) 应用程序。Prism提供了一套强大的工具和...

    Prism框架WPF主界面列子,还带各种样式风格,Prism程序结构的划分

    综上所述,这个压缩包中的“Client”可能是一个包含示例代码和资源的客户端应用程序项目,它演示了如何使用Prism框架构建一个具有模块化、样式丰富且结构清晰的WPF主界面。开发者可以通过研究这个例子来学习和掌握...

    WPF开发MVVM架构Prism框架基础功能

    Prism框架由微软 Patterns & Practices 团队开发,它提供了一系列最佳实践和设计模式,如模块化、依赖注入、事件总线、命令绑定等,简化了MVVM应用程序的构建。Prism库包括了Unity、Autofac和DryIoc三种依赖注入容器...

    WPF(SL)下得Prism+MVVM框架(实用版直接用)

    **Prism框架**是由微软 Patterns & Practices 团队开发的,它是一个用于构建XAML基础的Windows客户端应用程序的框架,包括WPF和Silverlight。Prism的目标是促进可维护性和可测试性的应用程序开发,通过引入模块化、...

    Prism7.1.0.431_WPF_官方中文文档

    Prism是Microsoft Patterns & Practices团队开发的一个开源框架,主要用于构建模块化、可维护、可测试的Windows Presentation Foundation (WPF)应用程序。这个“Prism7.1.0.431_WPF_官方中文文档”提供了Prism 7.1...

    Prism5 For Wpf 官方帮助文档以及示例代码

    Prism是微软 Patterns & Practices 团队开发的一个框架,专门用于构建Windows Presentation Foundation(WPF)应用程序。Prism 5 是其一个版本,它引入了一系列设计模式和最佳实践,以帮助开发者创建可维护、可扩展...

    WPF Prism TemplatePack

    **WPF Prism TemplatePack** 是一个专门为Windows Presentation Foundation (WPF) 开发者设计的工具包,它包含了一系列预先配置的模板,可以帮助开发者快速启动基于Prism框架的应用程序开发。Prism是Microsoft ...

    Prism7.1.0.431_WPF_官方中文文档.docx

    Prism 是一个开源框架,专为设计和构建Windows Presentation Foundation (WPF) 应用程序而设计,旨在简化开发过程并提高代码的可维护性和可扩展性。该框架提供了许多最佳实践和设计模式,帮助开发者解决在构建复杂...

    WPF Prism MVVM弹窗及国际化小示例

    Prism是.NET Framework中用于构建模块化、可扩展且遵循最佳实践的WPF和UWP应用程序的一个框架。 首先,让我们理解一下MVVM设计模式。MVVM是一种UI设计模式,它将应用程序分为三个主要组件:模型(Model)、视图...

    WPF Prism 可关闭的TabControl

    WPF(Windows Presentation Foundation)是.NET Framework的一部分,提供了一种强大的方式来构建丰富的、具有图形用户界面的应用程序。而Prism是一个开源的UI框架,它支持MVVM(Model-View-ViewModel)设计模式,有...

    WPF Prism实例(多个实例包含Prism各个重要概念实例)

    Prism是微软 Patterns & Practices 团队开发的一个开源框架,主要用于构建Windows Presentation Foundation (WPF)和Universal Windows Platform (UWP)应用。它提供了多种设计模式和最佳实践,帮助开发者遵循MVVM...

    Prism7.1.0.431_WPF_官方中文文档.pdf

    Prism是一个为.NET框架设计的框架,其目的在于帮助开发者构建松散耦合、易于维护和扩展的复合应用程序。Prism提供了设计模式实现,比如模块化开发和模型-视图-视图模型(MVVM)模式。文档中的内容详细介绍了使用...

    WPF Prism框架应用学习.zip

    Prism是Microsoft为.NET Framework设计的一个轻量级、模块化的应用程序开发框架,特别适合于构建可维护性和可扩展性极强的WPF和UWP应用。下面我们将深入探讨WPF和Prism框架的应用及MVVM模式。 WPF是.NET Framework...

    WPF Prism页面导航实例(Bootstrapper,Shell,Module,Region,Navigation使用)

    在Windows Presentation Foundation (WPF)中,Prism框架提供了一种强大的方式来构建模块化、可维护的用户界面。本篇将深入探讨Prism中的核心概念,包括Bootstrapper、Shell、Module、Region以及Navigation的使用,...

    WPF prism MEF 架构

    WPF(Windows Presentation Foundation)是.NET Framework中的一个UI框架,用于构建丰富的桌面应用程序。Prism是Microsoft Patterns & Practices团队开发的一个库,它为WPF和Silverlight提供了模块化、依赖注入、...

Global site tag (gtag.js) - Google Analytics