Prism可以防止一项未完成的特性扰乱整个发布

2010 年 6 月 20 日

对于很多企业级的应用程序来说,部署原子级的程序都会有很大的问题。 当应用程序需要以全有或全无的方式部署的时候,拥有开发者的角度的模块化代码不会有任何帮助,一个缺陷就会破坏整个发布。 Prism 允许你将程序按照任意特定的功能分割,然后再部署给用户,这样就可以解决上述的问题。 其中单独的特性会作为独立的模块发布。 这些模块可能会存储在本地、协作文件共享服务器,或者提供服务的站点上。

开发者会负责创建 Shell 程序、托管应用程序以及限定的区域(Region)。 区域(Region)是可以从模块(Module)中载入动态内容的占位符(placeholder)。 模块应该以标准的 MVC 模式构建,其中有一个或多个视图、一个控制器和一个模型。

Prism 框架提供了模块目录(Module Catalog)、模块管理器(Module Manager) 和区域管理器(Region Manager)。 我们可以通过代码、XAML 文件、配置文件或者遍历目录来生成模块的目录。 然后管理器会以即时或者按需的方式载入模块。 最后区域管理器(Region manager)会从模块中将视图载入到正确的区域中。

通常情况下,模块之间不会直接相互通信。 跨模块的通信是通过事件聚合器(Event Aggregator)来处理的。 这是一个多发布方(multiple-publisher)、多订阅方(multiple-subscriber)的事件管理系统。

最新发布的 Prism 4.0 支持 WPF 和 Silverlight 4 ,并且是基于微软公共证书(Microsoft Public License)发布的。

查看英文原文: Prism Prevents One Incomplete Feature from Derailing an Entire Release

2010 年 6 月 20 日 02:211087
用户头像

发布了 340 篇内容, 共 111.2 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

翻译: Effective Go (7)

申屠鹏会

golang 翻译

Bash 脚本的单元测试

柴锋

bash Linux DevOps Unit Test Shell

结算场景下的跳坑记

墨凡

16张图入门Nginx——(前端够用,运维入门)

执鸢者

nginx 运维 前端

Docker搭建PHP+Nginx+MySQL+Redis

书旅

Docker 镜像 lnmp

螺旋矩阵算法,臭代码解析,微服务架构 Service Mesh 服务网格 RPC 协议实现原理 Dubbo 通讯协议,John 易筋 ARTS 打卡 Week 13

John(易筋)

ARTS 打卡计划

这些年看过的Linux相关书籍推荐

我是程序员小贱

1 时间复杂度总结

我是程序员小贱

毕玄大佬的分享以及给我的感悟

白色蜗牛

Java 程序员 技术 职场 架构师

华为的“少年天才”攀登者,出发向智能存储的“奥林帕斯山”

脑极体

航运区块链 抗疫危中有机

CECBC区块链专委会

区块链 航运

一次由默认参数引起的思考

Lart

编程 思考

Spring如何选择类构造器

申屠鹏会

golang 翻译

MySQL 基准测试

多选参数

MySQL

让你起飞的20个Linux命令骚操作

我是程序员小贱

平均负载是什么?

我是程序员小贱

解析 HashMap 源码概括

shengjk1

Java hashmap

高效程序员的45个习惯:敏捷开发修炼之道(1)

石云升

读书笔记 敏捷开发

正则表达式位置匹配——匹配两个特殊符号中间的内容

jerry.mei

Java 正则表达式 前端 字符串匹配

解析 HashMap 源码之基本操作 put

shengjk1

Java hashmap

全面了解CGI、FastCGI、PHP-FPM

书旅

CGI PHP-FPM Fast-CGI

JDK中居然也有反模式接口常量

看山

Java 源码阅读

spark学习之IDEA配置spark并wordcount提交集群

我是程序员小贱

1 学习性能优化的要点

我是程序员小贱

敏捷到底是个什么鬼?

刘华Kenneth

程序员 敏捷 change

Rust特征与泛型区别点

编号94530

rust 泛型 封装、继承、多态

这样看mybatis,谁都会分析源码!

诸葛小猿

源码 mybatis mybatis源码

区块链技术--公证人机制

CECBC区块链专委会

区块链 数字货币 公证人

学习技术先从学会使用搜索引擎开始

我是程序员小贱

解析 hashMap 源码之基本操作 get

shengjk1

Java hashmap

目前数字人民币试点仍是“4+1” 别误读了

CECBC区块链专委会

数字货币 央行 人民币

Prism可以防止一项未完成的特性扰乱整个发布-InfoQ