写点什么

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

评论

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

开源一夏 | 这么火的ES,SpringBoot结合ElasticSearch7实现多条件复合查询

知识浅谈

开源 8月月更

聊聊电源自动切换电路(常用自动切换电路总结)

矜辰所致

电路设计 8月月更 电源自动切换

docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

程序员欣宸

elasticsearch 8月月更

华为云数据库,更安全、更方便、更省钱的选择【华为云至简致远】

sofiya

mysql进阶(二十八)GRANT REVOKE用法详解

No Silver Bullet

MySQL 签约计划第三季 8月月更 grant revoke

基于华为云ModelArts和弹性云服务器ECS的AI全流程开发——昇腾工业质检应用实战【华为云至简致远】

sofiya

什么是 Office Open XML 文件格式

汪子熙

xml 微软 Office 8月月更 openOffice

【字体反爬】的起点,月票数解析,一个小小的Python案例

梦想橡皮擦

Python 爬虫 8月月更

谈谈程序员如何具备领导力

宇宙之一粟

领导力 8月月更

C51 基本函数、中断函数和库函数的详解

timerring

8月月更

jvm(一 )内存区域的划分

想要飞的猪

JVM JVM运行时数据区

轻松完成接口测试及接口文档

Xd

Java 后端 接口测试

基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

sofiya

未来社区的人车房隐私数据权属确认方法

阿提说说

区块链 物联网 隐私保护

git 分支

Jason199

git fetch 8月月更

自己动手制作elasticsearch的ik分词器的Docker镜像

程序员欣宸

elasticsearch 8月月更

【高并发项目实战】工程模块化与活动会场静态化架构原理解析

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

头脑风暴:打家劫舍

HelloWorld杰少

8月月更

2022-Java后端工程师面试指南-(MySQL)

自然

8月月更

Spring(三、依赖注入)

开源 bean Spring JPA 8月月更

Promise的点点滴滴

坚果

开源 8月月更

一种用于保证多方子系统数据一致性的方法

阿提说说

数据一致性 多方子系统 异构系统

2022秋招前端面试题(四)(附答案)

helloworld1024fd

前端面试

2022秋招前端面试题(三)(附答案)

helloworld1024fd

前端面试

2022-Java后端工程师面试指南-(Redis)

自然

面试题 reis 8月月更

【华为云至简致远】还在烦恼成本高、运维难?华为云数据库给你一个标准答案!

sofiya

OAuth2的定义和运行流程

阿提说说

spring security Oauth

STM32+移远MC20模块采用MQTT协议登录OneNet上传GPS数据

DS小龙哥

8月月更

朴素贝叶斯分类-西瓜分类 python

Five

贝叶斯公式 Python. 8月月更

2021-Java后端工程师面试指南-(SpringBoot+SpringCloud)

自然

Spring Boot CLI spring cloud stream 8月月更

为什么我要说:柯里化 == 闭包+递归?

掘金安东尼

JavaScript 前端 8月月更 柯里化

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