软考架构-架构风格

目录

一、先明确:软考中架构风格的核心分类逻辑

[二、分大类拆解:软考高频考点 + 易混点辨析](#二、分大类拆解:软考高频考点 + 易混点辨析)

[大类 1:数据流 / 调用返回风格(数据 / 控制流驱动)](#大类 1:数据流 / 调用返回风格(数据 / 控制流驱动))

[大类 2:独立构件风格(松耦合协作)](#大类 2:独立构件风格(松耦合协作))

[大类 3:虚拟机风格(虚拟执行环境)](#大类 3:虚拟机风格(虚拟执行环境))

[大类 4:仓库系统风格(共享数据中心)](#大类 4:仓库系统风格(共享数据中心))

[大类 5:复合 / 混用风格(多风格组合)](#大类 5:复合 / 混用风格(多风格组合))

[大类 6:闭环控制风格(反馈驱动)](#大类 6:闭环控制风格(反馈驱动))


要应对软考中的架构风格考点,核心是抓住

"大类核心特征→子风格关键差异→软考高频考点(特点 / 例子 / 优缺点) 的逻辑链。

一、先明确:软考中架构风格的核心分类逻辑

软考对架构风格的分类,本质是按 "系统中构件(组件)的协作方式" 和 "数据 / 控制流的传递模式" 划分的,每个大类都有明确的 "核心协作模式",这是判断风格类型的第一依据:

大类 核心协作模式(判断依据) 软考高频考查场景
数据流 / 调用返回风格 数据按固定流程传递,或通过 "主调 - 被调" 控制流协作 基础架构设计、传统系统(如编译器)
独立构件风格 构件间松耦合,通过事件 / 显式消息通信 分布式系统、微服务通信
虚拟机风格 构建 "虚拟执行环境",按规则 / 解释逻辑处理任务 语言执行、规则引擎
仓库系统风格 构件围绕共享数据存储中心协作 数据库应用、复杂问题求解(如语音识别)
复合 / 混用风格 混合多种基础风格,适配复杂场景 企业级系统(如 B/S、SOA)
闭环控制风格 基于反馈机制持续调整输出,实现 "目标控制" 实时控制系统(如自动驾驶)

二、分大类拆解:软考高频考点 + 易混点辨析

每个大类下的子风格,需重点记忆 "核心概念 + 典型例子 + 优缺点(软考易错点) ",以下标注 "★" 为软考高频考点:

大类 1:数据流 / 调用返回风格(数据 / 控制流驱动)

核心特征:数据或控制流按 "线性 / 层级" 路径传递,构件间依赖明确,适合 "流程固定" 的场景。

子风格 核心概念 软考高频考点(例子 + 优缺点)
1.1 批处理风格 数据 "一次性输入→批量处理→一次性输出",中间结果落盘,无人工干预(流水线模式) ★例子:银行夜间跑批(对账 / 计息)、分布式大数据离线作业(Hadoop MapReduce) ★缺点:实时性差、无法动态调整流程
1.2 管道 - 过滤器 系统拆分为 "过滤器"(数据处理单元)和 "管道"(数据传输通道),数据单向流动 ★例子:编译器(词法分析→语法分析→语义分析,各阶段为过滤器,数据通过管道传递) ★优点:高内聚、低耦合、易复用 ★缺点:调试难(需跟踪全流程)、交互性差(无法实时反馈)
1.3 主 / 子程序 单线程控制,主程序调用子程序(函数 / 方法),子程序执行完返回结果 ★例子:C 语言main函数调用其他函数、Java 中main方法调用业务方法 ★特点:控制流清晰、单线程(无并发)
1.4 面向对象 构件为 "对象",封装数据和方法,通过消息(方法调用)交互 ★例子:Java 系统(如 Spring Bean 间调用)、C# 系统★特点:封装性、继承性、多态性(软考常考 "封装" 对应面向对象)
1.5 层次化架构 按 "抽象级别" 分层,上层依赖下层(下层为上层提供服务),层内高内聚 ★例子:TCP/IP 五层模型(应用层→传输层→网络层→数据链路层→物理层)、Spring 三层架构(Controller→Service→DAO) ★优点:易维护(修改某层不影响其他层)、易扩展★缺点:层间依赖可能僵化(如多层修改需同步调整)

大类 2:独立构件风格(松耦合协作)

核心特征:构件间无直接依赖,通过 "事件订阅" 或 "显式消息" 通信,适合分布式、高并发场景。

子风格 核心概念 软考高频考点(例子 + 特点)
2.1 事件驱动(隐式调用) 构件分为 "事件发布者" 和 "事件订阅者",发布者触发事件后,由 "事件总线" 通知订阅者执行(订阅 - 发布模式) ★例子:GUI 系统(点击按钮→发布 "点击事件"→订阅的弹窗组件执行)、消息队列(如 RabbitMQ 的 topic 模式) ★特点:松耦合(发布者不知订阅者)、易扩展(新增订阅者无需改发布者)
2.2 进程通信 不同进程(或分布式节点)通过 OS 提供的 "显式通信机制" 协作,需明确指定通信对象 ★例子:微服务间通信(gRPC、HTTP REST)、Linux 管道通信、共享内存 ★特点:通信链路明确(需知道对方地址 / 协议)、适合跨进程 / 跨节点协作

大类 3:虚拟机风格(虚拟执行环境)

核心特征:构建 "抽象执行层",屏蔽底层差异,按预设规则或解释逻辑处理任务,适合 "逻辑可配置" 场景。

子风格 核心概念 软考高频考点(例子 + 特点)
3.1 解释器风格 包含 "解释器" 和 "脚本 / 字节码",解释器按语法规则逐行解析执行代码 ★例子:JVM(解释执行字节码)、Python 解释器、Shell 脚本执行 ★特点:跨平台(依赖解释器)、执行效率低于编译型
3.2 规则系统 / 专家系统 包含 "规则库"(预设业务规则)和 "推理机"(按规则推理决策),支持正向 / 反向链式推理 ★例子:DROOLS 规则引擎(金融风控规则)、医疗诊断专家系统(根据症状匹配疾病规则) ★特点:逻辑可配置(修改规则无需改代码)、适合复杂决策场景

大类 4:仓库系统风格(共享数据中心)

核心特征:所有构件围绕 "共享数据仓库" 协作,数据集中存储,构件通过读写仓库交互,适合 "数据共享需求高" 场景。

子风格 核心概念 软考高频考点(例子 + 特点)
4.1 数据库系统 构件通过 SQL 等接口读写 "关系型 / 非关系型数据库",数据按结构化方式存储 ★例子:MySQL/Oracle 系统(如电商订单库,订单服务、支付服务均读写该库) ★特点:数据一致性高、支持事务
4.2 黑板风格 构件(知识源)共享 "黑板"(数据 / 中间结果存储区),异步读写黑板,共同解决复杂问题 ★例子:语音识别系统(声学分析、语法分析等构件异步读写黑板数据)、故障诊断系统 ★特点:适合无固定流程的复杂问题、构件解耦(无需知道其他构件存在)

大类 5:复合 / 混用风格(多风格组合)

核心特征:混合两种以上基础风格,适配企业级复杂场景,软考中考查频率最高的大类之一。

子风格 核心概念 软考高频考点(例子 + 易混点)
5.1 C2 风格 构件仅通过 "连接件" 通信,构件分 "顶部接口"(接收请求)和 "底部接口"(发送请求),支持分布式 ★例子:可视化控件(如 GUI 中的按钮、文本框,通过连接件传递事件) ★特点:构件完全解耦、易扩展
5.2 C/S(客户机 / 服务器) 分为 "客户端"(交互 + 部分业务逻辑)和 "服务器"(数据存储 + 核心业务),客户端主动请求服务器 ★例子:QQ 客户端、传统管理系统(如 ERP 客户端) ★易混点:与 B/S 的区别 ------C/S 需安装客户端,B/S 基于浏览器(无需安装)
5.3 三层 / 多层架构 在层次化架构基础上,按 "业务职责" 细分(如表示层→业务逻辑层→数据访问层),各层独立部署 ★例子:企业级 Web 系统(Vue 前端→Spring Boot 业务层→MyBatis 数据层) ★易混点:与 "层次化架构" 的关系 ------ 三层是层次化的 "具体实现",层次化是更通用的理念
5.4 B/S(浏览器 / 服务器) 客户端为浏览器,所有业务逻辑在服务器端执行,通过 HTTP 协议交互 ★例子:淘宝网页版、企业 OA 系统(如钉钉网页版) ★优点:无需安装客户端、跨平台 ★缺点:依赖浏览器性能、网络带宽
5.5 SOA(面向服务架构) 将系统拆分为 "服务"(独立业务能力,如支付服务、用户服务),通过 ESB(企业服务总线)通信 ★例子:电商系统(订单服务、库存服务通过 ESB 交互) ★特点:服务复用性高、松耦合(服务间通过标准接口通信)
5.6 REST(表述性状态转移) 面向 "资源"(如用户、订单),通过 HTTP 动词(GET/POST/PUT/DELETE)操作资源,无状态 ★例子:RESTful API(如GET /users/1获取用户 1 信息)、微服务间 REST 通信 ★核心考点:无状态(每次请求独立)、面向资源、使用标准 HTTP 方法
5.8 异构架构 混合多种风格(如部分用 REST、部分用 SOA),适配复杂异构环境 ★例子:大型互联网系统(前端 B/S + 后端微服务 REST + 数据层数据库系统) ★特点:灵活性高、需解决风格间兼容性

大类 6:闭环控制风格(反馈驱动)

核心特征:基于 "反馈机制" 持续检测被控对象状态,调整输出以逼近目标,适合 "实时控制" 场景,软考中考查较少但易与其他风格区分。

子风格 核心概念 软考高频考点(例子)
6.1 过程控制 控制器持续采集被控对象数据(如温度、速度),与目标值对比,通过算法调整输出 ★例子:空调恒温控制(检测室温→对比设定值→启停压缩机)、自动驾驶(检测车速→对比限速→调整油门)
相关推荐
my91115264 小时前
地平线征程6芯片深度解析2:BPU 纳什架构如何重构智能驾驶计算范式
重构·架构
zandy10114 小时前
HENGSHI SENSE 6.0技术白皮书:基于HQL语义层的Agentic BI动态计算引擎架构解析
架构·大模型·chatbi·hengshi sense·agentic bi
送秋三十五4 小时前
Docker 构建教程:学习上下文、架构和性能优化技术
学习·docker·架构
1candobetter4 小时前
JAVA后端开发——软件分层架构中的“管道井”原则
java·开发语言·架构
mit6.8245 小时前
[Backstage] 插件架构 | 软件目录 | 实体的生命周期
架构·状态模式
文火冰糖的硅基工坊12 小时前
[嵌入式系统-100]:常见的IoT(物联网)开发板
人工智能·物联网·架构
失散1314 小时前
分布式专题——39 RocketMQ客户端编程模型
java·分布式·架构·rocketmq
许泽宇的技术分享14 小时前
当Excel遇上大语言模型:ExcelAgentTemplate架构深度剖析与实战指南
语言模型·架构·excel
杂化轨道VSEPR14 小时前
多制式基站综合测试线的架构与验证实践(3)
架构