最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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:481025

评论

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

【LeetCode】包含min函数的栈Java题解

Albert

算法 LeetCode 6月日更

个推CTO谈数据中台(上):从要求、方法论到应用实践

个推

大数据 数据中台 数字化转型 数据智能

Python3 Note 对象初始化

awen

Python 生命周期 对象初始化

Python3 Note __slots__

awen

Python slots

聚焦大企业创新与创投生态,2021 DEMO WORLD 世界创新峰会圆满成功!

创业邦

新思科技推出Intelligent Orchestration解决方案 优化DevOps管道的速度和效率

InfoQ_434670063458

新思科技

计算机视觉常用图像数据集标记平台

不脱发的程序猿

人工智能 计算机视觉 图像处理 图像数据集标记平台

六一限定,致每一个追光者

白洞计划

☕️【Java技术之旅】深入学习JIT编译器实现机制(原理篇)

洛神灬殇

Java 编译器 JIT 6月日更

mPaaS 月度小报 | 应用上线前都应该检查哪些指标?CodeHub#5回顾:小程序容器加持下的技术架构“提质增效”

蚂蚁集团移动开发平台 mPaaS

小程序 移动开发 mPaaS

webRTC探索音视频的录制的实现

云小梦

JavaScript WebRTC 浏览器API

仅需1秒!快速查看海淀全区情况,一句话让“智慧屏”全搞定

百度大脑

智能

DMCC在迪拜正式启动加密中心

InfoQ_434670063458

DMCC 加密中心 自由区

GitHub上收录400余篇任正非的讲话稿

不脱发的程序猿

GitHub 开源 程序人生 任正非讲话

环信MQTT消息云正式发布,覆盖4大核心场景

环信

mqtt

工业智能(汽车)联合创新实验室发布 力促汽车工业融通发展

浪潮云

在一架天车中,透视5G时代的钢铁智变

脑极体

模块五总结

竹林七贤

Android studio 在外置硬盘运行项目报.lock 的错误

三爻

flutter android Mac Android Studio

Python3 Note 函数注解

awen

Python Function 函数注解

《原则》(一)

Changing Lin

6月日更

工业制造业在数字化时代的三大发展方向

CECBC

BoCloud博云微服务平台3.0正式发布:让微服务转型路径更清晰

BoCloud博云

微服务

从零开始学习3D可视化之获取对象

ThingJS数字孪生引擎

物联网 可视化 大屏可视化 3D可视化 数字孪生

“图发展”与“保安全”:大数据今后怎么玩?

CECBC

六一儿童节,看我用ModelArts让8090梦回童年

华为云开发者联盟

AI 美食 童年 modelarts 六一

百度智能云亮相CCBN2021,云智一体智媒产业智能化解决方案受关注

百度大脑

云智一体 CCBN

☕️【Java 技术之旅】360度全方位的教你认识网络IO模型

洛神灬殇

JVM Java、 编译器原理 6月日更

bzz矿机分币系统开发,BZZ矿机节点APP搭建

全球案例 | 一家财富500强公司利用 Jira 和 Jira Align 将万人级团队的生产力提高了 30%

Atlassian

管理 DevOps 敏捷 Jira 协同办公

一篇文章带你看懂计算机系统监控与可观测性发展史(干货)

观测云

云计算 可观测性

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