AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

评论

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

Studio One2024旗舰级DAW的跨版本升级

茶色酒

Studio One 5 Studio One2023

架构误区系列12:一切皆依赖云平台

agnostic

云计算 部署架构

FPGA:硬件描述语言简介

timerring

FPGA

关于环境变量配置的思考总结

timerring

Go 环境变量

【PHP】英文博客专栏PHP快速入门个人笔记

懒时小窝

php

【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南

码界西柚

redis 性能调优 慢查询

会声会影2023和谐版本补丁包下载

茶色酒

会声会影 会声会影2023

CleanMyMac X2024版本值不值得买?

茶色酒

CleanMyMac X CleanMyMac X2023

开源移动核心网Magma架构设计启示

俞凡

架构 网络 通信

CleanMyMac X2024汉化版安装包新增

茶色酒

CleanMyMac X CleanMyMac X2023

技术管理者如何获得下属的认同?

石云升

极客时间 1月月更 技术领导力实战笔记

你知道哈希算法,但你知道一致性哈希吗?

JAVA旭阳

Java 架构

如何快速优雅的用Know Streaming创建Topic

石臻臻的杂货铺

获取 topic等信息 后端、

Python 内置界面开发框架 Tkinter入门篇 甲

eng八戒

Python GUI tkinter

极客时间运维进阶训练营第十二周作业

9527

工作这么多年,我总结的数据传输对象 (DTO) 的最佳实践

JAVA旭阳

Java 架构

【腾讯云AI】用1行Python代码识别增值税发票,YYDS

程序员晚枫

Python 人工智能 发票 OCR

【Linux技术专题系列】「必备基础知识」一起探索和实践sftp配置之密钥方式登录

码界西柚

Linux SSH SSH工具 sftp

水果软件2024FL Studio中文语言版本下载

茶色酒

FL Studio FL Studio 21

Portraiture2024汉化版磨皮插件下载

茶色酒

Portraiture2023 Portraiture

2022年终总结-无所吊谓

wood

年终总结 稳定 开心 普通的一年

精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)

码界西柚

Java JVM JVM原理 2023

CleanMyMacX4.12.2最新版本更新下载

茶色酒

CleanMyMacX

我总结了写出高质量代码的12条建议

JAVA旭阳

Java

技术如何分担产品之忧?

石云升

极客时间 1月月更 技术领导力实战笔记

复习前端:JavaScript V8 引擎机制

devpoint

chrome JIT V8

复习前端:前端应掌握的网络知识

devpoint

OSI七层协议 http2 HTTPS协议加密

我们需要怎样的低代码平台

agnostic

低代码

从任务分配角度来看管理

石云升

极客时间 1月月更 技术领导力实战笔记

万字长文搞懂产品模式和项目模式

俞凡

团队管理

JSON.stringify() 的 5 使用场景

devpoint

JavaScript 前端开发 JSON格式化

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