写点什么

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

评论

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

数字先锋| 天翼云牵手中能融合

天翼云开发者社区

撑算力之帆,天翼云助力数字时代逐潮者远航

天翼云开发者社区

【云服务器】云计算平台的架构是什么样的?

Finovy Cloud

云服务器 GPU服务器

你的App是信息化时代的还是数字化时代的

FinClip

小程序开发

这个API文档,太拽了吧!

Liam

前端 Postman API API文档 开放api

样品管理系统解决方案

低代码小观

Lims LIMS实验室信息管理系统 LIMS系统

使用 LakeSoul 构建实时机器学习样本库

Geek_a02d1e

机器学习 大数据 开源 新基建 湖仓一体

直播回顾 | 7000字干货,深析区块链+汽车供应链金融的应用价值

旺链科技

区块链 产业区块链 供应链金融

多张图解,一扫你对多线程问题本质的所有误区

华为云开发者联盟

Java 开发

玩转云端|一文读懂天翼云CDN升级重点

天翼云开发者社区

龙蜥开发者说:不忘初心,方得始终 | 第 7 期

OpenAnolis小助手

开源 cpu 龙蜥开发者说 飞腾 不忘初心

leetcode 417. Pacific Atlantic Water Flow 太平洋大西洋水流问题

okokabcd

LeetCode 搜索 数据结构与算法

AI“爷青回”:一键找回童年记忆

最新动态

天猫精灵语音技能单轮对话表达式的参数定义

汪子熙

人工智能 机器学习 聊天机器人 机器人 6月月更

多模态语义检索 | 基于 MetaSpore 快速部署 HuggingFace 预训练模型

Geek_a02d1e

机器学习 深度学习 开源 AI 多模态

InfoQ 极客传媒 15 周年庆征文|一文读懂分布式系统本质:高吞吐、高可用、可扩展

No Silver Bullet

架构 分布式系统 可扩展 6月月更 InfoQ极客传媒15周年庆

2022年中国新能源汽车换电市场发展洞察

易观分析

新能源汽车

Hoo研究院|一文速览风投机构NGC Ventures的加密布局

区块链前沿News

投资 VC Hoo NGC

关于fastjson出现反序列化远程代码执行漏洞的通知

天翼云开发者社区

选择天翼云混合云管理平台的五大理由

天翼云开发者社区

【LeetCode】 删除二叉搜索树中的节点Java题解

Albert

LeetCode 6月月更

Flutter 图片库重磅开源!

阿里巴巴终端技术

flutter 开源 native 客户端

【Spring 学习笔记(一)】第一个Spring程序与IoC思想

倔强的牛角

6月月更

【高并发】在高并发环境下该如何构建应用级缓存?

冰河

并发编程 多线程 高并发 异步编程 6月月更

从入门到一位合格的爬虫师,这几点很重要

开发微hkkf5566

斐波那契系列

开发微hkkf5566

征文投稿丨基于轻量应用服务器搭建Hexo个人博客

阿里云弹性计算

node.js nginx git Hexo 轻量应用服务器

博云容器云产品族:如何实现让“Any APP on Any Kubernetes”?

BoCloud博云

云原生 容器云

5G+实时云渲染:交互实时云看车革新购车体验

3DCAT实时渲染

5G 汽车之家 汽车 元宇宙 实时云渲染

Java 中三大类数据类型

迷篱

函数节流和函数防抖和他们的区别

工边页字

JavaScript 性能优化 前端 6月月更

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