7.5.5 架构设计
本课核心知识点整理
架构是需求和软件之间的桥梁
架构设计是全局性设计,它把需求转化为系统的主要构件、关系、约束和组织规则。架构风格则是对一类系统共有结构和语义特性的归纳,目的是在架构级别复用成功经验。
课堂提醒:架构知识本身很广,高级科目有专门的架构方向;软件设计师里通常考得零散,掌握浅层分类和应用特点即可。
架构风格分类
| 风格类别 | 典型形式 | 关键词 |
|---|---|---|
| 数据流风格 | 批处理、管道-过滤器 | 数据逐步流经处理部件 |
| 调用返回风格 | 主程序/子程序、面向对象调用、层次结构、C/S、B/S | 调用、返回、层次 |
| 独立构件风格 | 进程通信、事件驱动系统 | 独立构件、事件触发、消息通信 |
| 虚拟机风格 | 解释器、基于规则的专家系统 | 解释执行、规则推理 |
| 仓库风格 | 数据库系统、超文本系统、黑板系统 | 以数据为中心,共享数据仓库 |
数据流风格:批处理与管道-过滤器
| 形式 | 特点 |
|---|---|
| 批处理 | 数据以整体方式进入处理过程,一批一批处理 |
| 管道-过滤器 | 数据通过管道流经多个过滤器,每个过滤器完成一步处理 |
管道-过滤器适合数据转换链路清晰的场景,例如编译器流水线、日志处理流水线、图像处理流水线。
调用返回风格
结构化开发中的主程序/子程序调用、面向对象中的对象方法调用,以及常见的 C/S、B/S 分层系统,都可归到调用返回风格相关分类中。
| 架构 | 理解 |
|---|---|
| C/S | 客户端请求,服务器提供服务 |
| B/S | 浏览器作为客户端,通过 Web 访问服务器 |
| 分层结构 | 上层使用下层服务,职责分层 |
仓库风格:以数据为中心
仓库风格把共享数据作为系统中心,多个构件围绕数据仓库工作。数据库系统是典型例子;黑板系统也属于仓库风格。
例题
反映某一领域众多系统共有结构和语义特性、指导构件组织方式的是:
管道-过滤器属于:
数据库系统、黑板系统常归为:
自查要点
- 架构为什么说是需求和软件之间的桥梁?
- 架构风格的作用是什么?
- 数据流风格包括哪些典型形式?
- C/S、B/S 更接近哪类架构风格?
- 仓库风格为什么叫“以数据为中心”?