速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论

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

一种多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台

大数据培训学习编程技术的方法有哪些

小谷哥

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(下)

洛神灬殇

JVM 12月日更 堆外内存 内存干扰

Zebec节点Zepoch销量接近800个,生态发展信心十足

股市老人

旺链科技荣膺“2022上海软件核心竞争力企业”

旺链科技

区块链 产业区块链 12 月 PK 榜

云原生大数据平台零信任网络安全实践技术稿

星环科技

SpringBoot快速整合通用Mapper

Jeremy Lai

通用Mapper spring-boot

瓴羊Quick BI带给企业新发展,企业数字营销和运营变得格外简单

对不起该用户已成仙‖

云小课|云小课带你玩转可视化分析ELB日志

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

【0.1mm钻孔】揭秘激光钻孔加工常见的4种方法

华秋PCB

工艺 PCB PCB设计 钻孔

详解HashMap源码解析(上)

Jeremy Lai

HashMap底层原理

【JVM故障问题排查心得】「内存诊断系列」JVM内存与Kubernetes中pod的内存、容器的内存不一致所引发的OOMKilled问题总结(上)

洛神灬殇

Docker Kubernetes 容器 JVM 12月日更

五种方式实现 Java 单例模式

Jeremy Lai

设计模式 单例模式

MASA Framework 事件总线 - 跨进程事件总线

MASA技术团队

.net MASA Framewrok MASA

大数据培训学习分析师怎么样

小谷哥

【JUC】循环屏障CyclicBarrier详解

JAVA旭阳

Java 并发 JUC

SAP MM 使用两个STO实现免关税跨国公司间转储(II)

SAP虾客

SAP MM PO输出 NACE

刷新AI作图速度,最快开源Stable Diffusion出炉

OneFlow

人工智能 深度学习 前沿技术

零售品牌如何挑选达人KOL?火山引擎VeDI有妙招!

字节跳动数据平台

大数据 营销 营销数字化 12 月 PK 榜

Java递归实现评论多级回复

Jeremy Lai

递归 解决方案

上海大数据培训机构怎么选择比较好

小谷哥

Serverless 架构下的 AI 应用开发

Serverless Devs

将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩

华为云开发者联盟

开发 华为云 12 月 PK 榜

React 之 createElement 源码解读

冴羽

JavaScript 前端 前端框架 React react源码

详解HashMap源码解析(下)

Jeremy Lai

HashMap底层原理

模拟HashMap冲突

Jeremy Lai

hashmap 哈希冲突

打造无证服务化:这个政务服务平台有点不一样

华为云开发者联盟

区块链 华为云 12 月 PK 榜

web前端培训程序员学习什么呢

小谷哥

web前端培训程序员学习怎么提升技术

小谷哥

meta force原力元宇宙魔豹联盟矩阵公排dapp系统开发源代码

开发微hkkf5566

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