🏠 首页›第一梯队 · 决胜核心 · 第 9 小时 · 系统架构设计基础

软件架构风格(二)· 虚拟机与仓库风格

选择 8~15 分案例 25 分论文高频
📄 教材出处 · 第 9 小时《架构设计》 (书第 87–96 页) ▸ 查看原文摘录 打开教材 PDF ↗
第 87 页 ↗系统架构设计基础知识 9.0 章节考点分析 主要学习软件架构的基本概念、基于架构的软件开发方法、软件架构风格、软件架构 复用以及特定领域软件体系结构等内容。
第 88 页 ↗【导读小贴士】 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。
第 89 页 ↗系统架构设计基础知识 81 1)组成SA模型(软件架构模型)的基本概念。
第 90 页 ↗9.2 基于架构的软件开发方法 【基础知识点】 1.体系结构的设计方法概述 基于体系结构(架构)的软件设计(Architecture-Based Software Design,ABSD)方法是体系 结构驱动的,即指构成体系结构的商业、质量和功能需求的组合驱动的。
第 91 页 ↗ 9.3 软件架构风格 【基础知识点】 1.软件架构风格概述 软件体系结构设计的核心目标是重复的体系结构模式(软件复用/重用)。
第 92 页 ↗ 图9.3 管道和过滤器风格 3.调用/返回体系结构风格 调用-返回风格在系统中采用了调用与返回机制。

知识点目录(共 4 项)

  1. 虚拟机风格:解释器 / 规则系统
  2. 仓库风格:数据库系统 / 黑板系统 / 超文本系统(高频)
  3. 衍生风格:客户机/服务器、多层 C/S、B/S
  4. 各架构风格优缺点与适用场景对比表(全书最高频,必背)

知识点详解

一、虚拟机风格

基本思想:人为构建一个运行环境(虚拟机),在此环境上可以解析与运行自定义的语言,增加架构的灵活性。

解释器风格 解释引擎(虚拟机) 被解释代码存储区含将解释的伪代码 工作状态数据结构记录当前执行环境 执行进度数据结构记录解释到哪一步 弥合程序语义与硬件语义差异;缺点:执行效率较低 典型:专家系统、Java 虚拟机、Python 解释器 规则系统风格(产生式系统) 知识库/规则集 规则解释器 规则/数据选择器选择匹配的规则 工作内存程序运行存储区 知识库 + 输入 → 事实集触发 → 输出 典型:专家系统、决策支持系统 DSS、人工智能
图 1-5 解释器 vs 规则系统(依据教材图 9.8/9.9 及正文整理重绘)
风格组成特点与典型应用
解释器解释引擎 + 被解释代码存储区 + 工作状态数据结构 + 执行进度数据结构仿真硬件执行过程;弥合程序语义与硬件语义之间的差异;缺点执行效率较低;典型例子专家系统
规则系统知识库(规则集)+ 规则解释器 + 规则/数据选择器 + 工作内存基于规则的系统(产生式系统);用于决策支持、人工智能

二、以数据为中心的仓库风格

由中央数据结构(说明当前数据状态)和一组独立构件(对中央数据进行操作)组成。三种形式:

中央数据结构说明当前数据状态 独立构件 1 独立构件 2 独立构件 3 独立构件 n 仓库:独立构件主动访问/操作中央数据(被动存取模式) 黑板:中央数据状态触发知识源执行,且有独立控制模块调度
图 1-6 仓库风格通用结构(重绘自教材图 9.6)
风格组成特点与典型应用
数据库系统中央共享数据源 + 独立处理单元构件对中央数据的操作是主动、直接的;典型:IDE 集成开发环境、各类信息系统
超文本系统网状链接的节点节点间按网状链接跳转;典型:互联网 Web、帮助文档
黑板系统黑板(共享数据)+ 知识源(独立知识模块)+ 控制模块(调度)问题求解模型;用于解空间大、求解过程不确定的复杂非结构化问题。典型:语音识别、模式识别等信号处理领域、人工智能推理
黑板 vs 仓库辨析(高频):仓库——独立构件主动操作中央数据,传统输入输出式;黑板——由中央数据当前状态触发相应知识源执行,有控制模块统一调度,适合"边猜边试"逐步逼近解的问题。

三、闭环过程控制与 C2 风格

四、全风格对比总表(案例题选型必背)

大类风格一句话特征典型应用/关键字
数据流批处理整体传递、前步完全结束才开始传统编译器、银行结算
管道-过滤器流式增量、前输出=后输入、过滤器独立Linux 管道、流处理
调用/返回主程序-子程序显式调用、单线程分层结构化程序
面向对象对象封装数据与操作、消息传递各类 OO 系统
层次结构层层服务、相邻层接口、每层最多影响两层OSI 七层、OS
独立构件进程通信独立过程 + 消息传递(点对点/异步/RPC)微内核 OS 服务
事件系统(隐式调用)广播事件、注册回调、触发者不知影响者编辑器语法高亮、插件
虚拟机解释器虚拟机解析自定义语言、效率低JVM、专家系统
规则系统规则集+解释器+选择器+工作内存专家系统、DSS、AI
仓库(以数据为中心)数据库系统中央共享数据源、独立构件主动操作IDE、信息系统
超文本系统网状链接跳转Web、帮助文档
黑板系统黑板+知识源+控制;状态触发求解语音识别、模式识别
闭环控制过程控制发命令→收反馈→循环调节空调、巡航定速
C2C2 风格构件连连接件(顶连底/底连顶)、异步消息、构件不直连并行构件网络
真题考法:①给场景选风格/给风格选场景;②"架构风格定义了词汇表和约束";③C2 的四条规则正误判断;④"每层最多影响上下两层"是层次风格;⑤"编译器(传统整体)是批处理,流式增量是管道-过滤器"。