系统架构师备考日记(2.27)
第7章 系统架构篇(三)——软件架构风格
考点
单项选择题(约占 8~15 分)和下午案例题(25 分),论文
一、软件架构风格概述
软件体系结构设计的一个核心目标是重复的体系结构模式,即达到体系结构级的软件重用。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。
- 词汇表:包含构件和连接件
- 约束:如何将构件个连接件组合起来
二、数据流体系结构风格
注释:指令执行顺序是不可预测的
2.1批处理体系结构风格
每个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据必须是完整的,以整体的方式传递。
2.2管道-过滤器
把系统分解为几个序贯的处理步骤,这些步骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入。
三 、调用/返回体系结构风格
调用/返回风格是指系统中采用了调用返回机制。一种分而治之的策略,主要思想是讲一个复杂的大系统分解成若干个子系统,一边降低复杂度,并增加可修改性
3.1主程序/子程序风格
一般采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。过程调用充当连接件。
3.2面向对象体系结构风格
构件是对象,即抽象数据类型的实例
3.3层次体系结构风格
每一层为上层服务,并作为下层的接口。仅相邻层间具有层接口
3.4客户端/服务端(C/S)
(1)两层C/S结构组成:数据库服务器(后台:负责数据管理)、客户应用程序(前 台:完成与用户交互任务)和网络。也称==胖客户机,瘦服务器== (2)三层C/S结构:应用功能分为表示层、功能层和数据层也称==瘦客户机==
- 表示层:用户接口部分,通常使用图形用户界面。
- 功能层:应用的主体,实现具体的业务处理逻辑。
- 数据层:数据库管理系统。
四 、以数据为中心的体系结构风格
4.1仓库体系结构风格
两种构件:中央数据结构(说明数据状态)、一组独立构件(对中央数据进行操作)
连接件即为仓库与独立构件之间的交互
4.2黑板体系结构风格
是一种问题求解模型,是组织推理步骤、控制状态数据和问题求解之领域知识的概念框架。对于特定应用问题,黑板系统可通过选取各种黑板、知识源和控制模块的构件来设计,传统应用是信号处理,如语音识别和模式识别,另一应用是松耦合代理数据共享存取。
五、虚拟机体系结构风格
5.1 解释器体系结构风格
解析器通常被用来建立一种虚拟机以弥合程序语义与硬件语义之间的差异。缺点是执行效率低。
5.2 规则系统体系结构风格
包括规则集、规则解释器、规则/数据选择器及工作内存。
六、独立构件体系结构风格
强调每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性。
6.1 进程通信体系结构风格
该风格构件是独立的过程,连接件是消息传递。
6.2 事件系统体系结构风格
构件不直接调用一个过程,而是触发或广播一个或多个事件。
总结
软件架构风格主要记住几种主流的架构风格及其特点。