《C++ API设计》 4.5 架构设计

摘抄于《C++ API设计》 4.5

创建架构的过程步骤:

1.分析影响架构的功能性需求

2.识别架构的约束 并 说明

3.创造 系统的主要对象,并确定之间的关系

4.架构交流 与 文档

架构的约束,影响架构的因素:

1.组织因素: 预算、时间、团队大小、专业知识等等

2.环境因素:硬件、平台(window、mac、linux)、依赖的api、服务端约束、协议、文件格式、数据库、开发工具

3.运行因素:性能要求、内存利用率、并发性、扩展性、安全性、网络带宽 等等

创建关键对象 分类方法

1.自然语言:用语言描述,名词表示对象,动词表示函数、形容词 为属性

2.属性:将相似属性、特性的对象分为一组

3.行为:根据 行为的发起者和参与者 推导出对象所属集合

4.原型:对各类 对象找到 更一般的原型,如 懒人沙发、高脚椅、躺椅,原型都是椅子

5.领域(Shlaer-Mellor 分类法):先对 系统水平划分,创建一些通用 领域。再对每个领域 独立分析,进行垂直划分。

好处:易构成复用的概念。

架构模式

1.结构化模式:分层模式、管道与过滤器模式 和 黑板模式

2.交互式系统:模型-视图-控制器、模型-视图-表示器、表示-抽象-控制

3.分布式系统:客户端/服务器、三层架构、点对点、代理模式

4.自适应系统:微内核模式、反射模式

避免循环依赖

1.循环依赖问题:无法对每个组件 进行单独测试

2.循环依赖问题:修改代码时,需重新编译 关联的库

3.解决方法: 回调、观察者、通知系统

API 是 由逻辑关联组件组成的无环层次结构

架构的交流与文档

文档 需要包含 整体设计的原理阐述:设计时,对各个可选方案和权衡做了哪些考虑,最后为何选出该结构。

posted @ 2021-03-08 11:40  Linese  阅读(549)  评论(0编辑  收藏  举报