写点什么

Composite Application Library 介绍

  • 2008-07-10
  • 本文字数:910 字

    阅读完需:约 3 分钟

微软模式与实践团队(patterns & practices)最近发布了 Composite Application Guidance for WPF 。该指导包中一个很重要的组成部分是 Composite Application Library ,一个创建复合 WPF 应用程序非常有用的类库。

除了推荐如何设计、开发和部署应用程序之外,微软模式与实践团队提供了他们推荐的参考实现或可复用的应用程序构造块。包括四种类型的指导:指导包、参考实现、软件工厂和应用程序块。Composite Application Guidance for WPF 除了推荐如何通过相互独立的模块构造大型复合 WPF 应用程序之外,还提供了一个名为 Stock Trader RI 的参考实现,一个称之为 Composite Application Library(CAL)的源代码库。据模式与实践团队所说,CAL 用以实现如下目标:

  • 由独立起作用而又互相协作的模块组合成客户端
  • 把主界面(外壳)开发者和模块建造者分离,这样做可以使业务开发小组集中精力开发特定领域的模块,而无需关注该 WPF 架构
  • 使用一个架构框架以产生一致和高质量的集成应用程序

模式与实践团队说道,CAL 使用了如下策略:

  • 它使用了依赖注入技术以简化代码来实现 Presentation-Model 和 Model-View-Presenter 模式
  • 它提供了一个加载模块的基础结构,并允许模块执行启动操作。模块也可以注册为共享组件以被其它模块或者外壳应用程序使用。
  • 它包含了一套广泛的单元测试源代码,开发者可以修改函数库源代码并使用单元测试验证其功能
  • 它为函数库服务分离了接口和具体实现

CAL 基于如下模式进行构造的:

  • 复合用户界面模式:复合和符合视图、命令模式、适配器模式
  • 模块化模式:分离界面和插件、服务定位、事件聚合、外观模式
  • 可测试模式:控制反转、分离表现

Composite Application Library 可以用来建造复合 WPF 应用程序,但它也可以通过扩展或替换核心元素进行定制以适应某些需要。类库源代码可通过修改以达到预期的功能。

查看英文原文: An Introduction to the Composite Application Library


译者简介:李会军(网名 TerryLee), 南开大学软件工程硕士,微软最有价值专家(MVP),多家 IT 杂志和 IT 网络媒体特约撰稿人,擅长基于.NET 平台的 Web 开发,业余爱好写作,在各类技术杂志和个人技术博客上撰写了大量的技术文章。他的个人网站为: http://www.dotneteye.cn

2008-07-10 21:481215

评论

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

明道云帮助外贸行业实现数字化管理

明道云

【网络安全】详细记录一道简单面试题的思路和方法

H

网络安全

电商秒杀系统架构设计

AHUI

「架构实战营」

kali权限提升之本地提权

喀拉峻

网络安全 信息安全 提权

大白话讲解JDK源码系列:从头到尾再讲一遍ThreadLocal

慕枫技术笔记

后端 1月月更

零代码平台——业务人员的知识变现工具

明道云

PDF 文件如何转成 markdown 格式

汪子熙

markdown PDF pdf.js 1月日更 1月月更

构建多架构镜像的最佳实践

xcbeyond

Docker arm docker image xcbeyond 1月月更

(1-18/18)推播式营销vs.集客式营销

mtfelix

300天创作 2022Y300P

ShardingSphere JDBC 分库实现多数据库源

Java 数据库 分库分表 Apache ShardingSphere

测试工程师的职场发展二三谈

老张

自动化测试 解决方案 职场发展

(1-19/19)市场和销售分别该怎么干

mtfelix

300天创作 2022Y300P

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析

洛神灬殇

RocketMQ 阿里巴巴‘ Alibaba技术 Apache RocketMQ 1月日更

微信业务架构图 & 学生管理系统架构设计

阿卷

架构实战营

冬奥探秘:那些隐匿在冬奥中的“绿科技”

脑极体

第七周作业

lv

用Java实现线段树

CRMEB

使用 React 和 Next.js 构建博客

devpoint

React nextjs 1月月更

JavaScript 基本数据类型转换

编程三昧

JavaScript 前端 1月月更

用明道云落地高校业务之优秀网站评选

明道云

ReactNative进阶(二十八):ES6 Symbol 用法

No Silver Bullet

React Native symbol 1月月更

低代码实现探索(二十九)混合式低代码

零道云-混合式低代码平台

ReactNative进阶(三十):Component、PureComponent 解析

No Silver Bullet

​React Native 1月月更 Component

微信业务架构分析 & 学生管理系统架构选型

AragornYang

架构训练营 架构实战营

C/C++开发方向如何选择?坚持C++还有意义吗?

赖猫

c++ Linux 服务器

Linux之cal命令

入门小站

22 Prometheus之Docker监控简述

穿过生命散发芬芳

Prometheus 1月月更

《腾讯云原生在线技术工坊》实践体会

穿过生命散发芬芳

腾讯云 云原生 1月月更 实践体会

音视频开发学习:HLS 协议详解

赖猫

c++ 音视频 ffmpeg HLS 音视频开发

在线XML转CSV工具

入门小站

工具

Go len() 函数是如何计算长度的?

宇宙之一粟

Go Go 语言 1月月更

Composite Application Library介绍_.NET_Abel Avram_InfoQ精选文章