架构风格:系统术语 + 构建系统规则

  1. 数据流风格:数据单向流动
  • 批处理:原材料一批一批加工,做完一批再下一批。✅简单可靠;❌实时差,不能交互
  • 管道 - 过滤器:管道传数据,过滤器负责加工。✅组件解耦、可复用;❌不支持交互,不能回退
  1. 调用 / 返回风格:主动调用,执行完返回结果
  • 主程序 / 子程序:主流程调用子程序,线性调用。✅简单直观;❌耦合高,难扩展
  • 面向对象:对象互相调用方法,封装数据。✅封装好;❌对象依赖复杂
  • 分层架构:层层调用,下层给上层服务。✅职责清晰;❌跨层麻烦,一层故障容易连锁影响
  1. 独立构件风格:构件独立,互相通信
  • 进程通信:多个独立进程互相发消息调用。✅独立部署;❌通信不稳定,要处理网络异常
  • 事件驱动:发布事件,订阅者响应。✅松耦合,易扩展;❌流程难追踪,调试困难
  1. 虚拟机风格:自定义一套指令解释执行
  • 解释器:翻译自定义脚本 / 指令执行。✅灵活,自定义语法;❌性能低
  • 规则系统:内置业务规则引擎。✅业务规则可动态改;❌规则复杂后难维护
  1. 以数据为中心风格:围绕共享数据存储
  • 数据库:共享库,读写数据表。✅数据统一;❌并发锁冲突
  • 黑板:公共数据区,多个模块读写黑板数据。✅多方共享;❌竞争读写,同步难
  • 超文本:网状链接式数据(网页)。✅灵活跳转;❌不好管控流程

软考架构风格 自测题(5 道单选)

  1. 数据单向依次加工,组件不直接交互,适合大批量离线数据处理,是什么风格? A 调用返回 B 数据流 C 虚拟机 D 以数据为中心

  2. 分层架构、面向对象都属于哪一类架构风格? A 数据流 B 调用 / 返回 C 独立构件 D 虚拟机

  3. 发布消息,感兴趣的组件自动响应,链路难追踪,调试麻烦是? A 事件驱动 B 管道过滤器 C 黑板 D 解释器

  4. 可以自定义脚本语言,动态解析执行,缺点性能较差的是? A 批处理 B 规则系统 / 解释器 C 数据库 D 进程通信

  5. 多个模块读写同一个公共共享存储区,存在并发竞争问题,黑板属于? A 独立构件 B 数据流 C 以数据为中心 D 调用返回

1.B 2.B 3.A 4.B 5.C

架构风格 易混淆坑题(单选 5 道)

  1. 【坑】将数据分成块,沿着管道传递,过滤器各自独立处理,不共享状态,该架构风格是() A 批处理 B 管道 - 过滤器 C 黑板 D 事件驱动

  2. 【坑】属于调用 / 返回风格,把系统划分多层,上层只能依赖下层,职责分离,指() A 进程通信 B 分层架构 C 黑板 D 规则系统

  3. 【坑】多个独立程序,通过消息传递互相协作,构件完全独立,属于独立构件风格的是() A 进程通信 B 批处理 C 数据库 D 解释器

  4. 【坑】业务规则不用改代码就能动态调整,但是规则复杂后很难维护,属于虚拟机风格() A 超文本 B 规则系统 C 管道过滤器 D 面向对象

  5. 【坑】网状关联数据,点击链接跳转,属于以数据为中心风格的() A 黑板 B 数据库 C 超文本 D 事件驱动

1.B 2.B 3.A 4.B 5.C

软考架构风格 简答题(背诵默写)

适合系统架构设计师

  1. 简述数据流风格,包含两类子风格及其特点。

<details> <summary>参考答案</summary> 数据流风格:数据单向流转加工。 ①批处理:批量数据依次处理,一批完成再处理下一批;优点简单稳定,缺点实时性差。 ②管道-过滤器:管道传输数据,过滤器独立处理;组件解耦可复用,缺点不支持交互,无法回退。 </details>

  1. 简述调用 / 返回风格,包含三类子风格及其特点。

<details> <summary>参考答案</summary> 调用/返回:构件主动调用,调用完成返回结果。 ①主程序/子程序:主流程调用子程序,线性执行;简单直观,耦合高。 ②面向对象:对象封装数据,通过方法互相调用;封装性好,依赖关系容易复杂。 ③分层架构:分层组织,上层依赖下层;职责清晰,一层故障容易连锁影响。 </details>

  1. 简述独立构件风格,包含两类子风格及其特点。

<details> <summary>参考答案</summary> 独立构件:构件相互独立,依靠消息通信协作。 ①进程通信:多个独立进程之间消息交互;构件独立部署,需要处理通信异常。 ②事件驱动:发布事件,订阅组件响应;松耦合易扩展,缺点调用链路难追踪,调试困难。 </details>

  1. 简述虚拟机风格,包含两类子风格及其特点。

<details> <summary>参考答案</summary> 虚拟机:构建虚拟执行环境,解析自定义指令。 ①解释器:解析自定义脚本指令;灵活支持自定义语法,性能较差。 ②规则系统:业务规则引擎;业务规则可动态修改,规则复杂后难以维护。 </details>

  1. 简述以数据为中心风格,包含三类子风格及其特点。

<details> <summary>参考答案</summary> 以数据为中心:围绕共享公共数据存储。 ①数据库:共享数据表;数据统一管理,存在并发争抢冲突。 ②黑板:公共数据区域,多个模块读写;支持多方共享,读写同步困难。 ③超文本:网状链接数据,支持跳转;数据跳转灵活,业务流程不好管控。 </details>


可选简答(拔高真题风格)6. 对比事件驱动架构和管道 - 过滤器架构的优缺点。

<details> <summary>参考答案</summary> 管道过滤器:数据单向流,组件解耦;但是缺少交互,流程固定。 事件驱动:基于事件广播,松耦合、易扩展;但是调用链路不直观,排查问题难度大。 </details>

相关推荐
nvd111 小时前
深入剖析 Apache Flink 流批双引擎的动态扩缩容架构:机制演进、状态重对齐与生产落地推导
架构·flink·apache
彭亚川Allen2 小时前
从零手搓 RAG 之文档解析技术
前端·后端·架构
程序员IT行业3 小时前
广东行政事业单位物资管理系统选型:先定功能需求,再定部署架构
大数据·架构
小冯不疯3 小时前
集成中心架构:PULL × PUSH × 集成转换的三大引擎
数据库·架构
乐讯通物联网服务商4 小时前
LTE 在物联网中的定位:Cat.1 / Cat.4 / Cat.M1 / NB-IoT 怎么选,物联网卡又该怎么配?
物联网·架构·物联网卡
海宇大数据4 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化证券账户实名鉴权网关
人工智能·架构·自动化·区块链
用户302822530685 小时前
你的 API 只返回 30 条,为什么数据库还是被打满了?
数据库·后端·架构
微订校园外卖平台5 小时前
同城外卖跑腿平台需要服务器吗?交付方式、部署架构与上线核对
服务器·架构·github·外卖系统·本地生活·微订
海宇数据5 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化消费金融实名合规网关
人工智能·金融·架构·自动化