第 1 章 · 架构基础与架构风格

📖 系统架构设计师 · 考点精讲(原创整理)约 1217 字🎯 配套练习:架构·基础与风格

考点梳理

1.1 什么是软件架构

  • 架构=组件 + 连接件 + 约束(也有定义强调"结构、视图与决策");
  • 架构关注全局:模块划分、交互方式、技术选型、非功能属性(质量属性);
  • 架构决策:一旦确定,后期修改代价高,因此要在早期充分评估。

1.2 4+1 视图模型(必考)

视图关注面向读者
逻辑视图功能与对象模型(类、职责、关系)设计人员、用户
进程视图并发、同步、性能与吞吐系统集成人员
开发视图代码组织、模块与包结构程序员
物理视图硬件/部署拓扑、节点分布系统工程师、运维
场景(用例)视图用若干用例串联验证以上视图全体干系人

记忆锚:逻辑看"类"、进程看"并发"、开发看"代码"、物理看"部署"、场景做"串联"

1.3 架构风格五大类(高频)

大类典型子风格特点/适用
数据流批处理、管道-过滤器数据按序处理;适合编译器、数据处理流水线
调用/返回主程序-子程序、面向对象分层易理解、易维护;分层适合企业应用
独立构件进程通信、事件驱动(隐式调用)松耦合、易扩展;适合 GUI、消息系统
虚拟机解释器、规则系统灵活可配置;适合规则引擎、脚本平台
仓库(数据共享)数据库系统、超文本、黑板以中心数据为核心;适合知识推理、IDE

记忆锚:数据流、调用返回、独立构件、虚拟机、仓库——"流、调、独、虚、仓"。

1.4 架构与生命周期

需求分析 → 架构设计(关键决策点)→ 详细设计 → 实现 → 测试 → 运维演化;架构在演化阶段常需重构以适应新需求(可修改性质量属性的体现)。

🧠 记忆工具箱

口诀速记

  • 4+1 视图:逻辑、进程、开发、物理 + 场景
  • 架构风格五类:流、调、独、虚、仓
  • 分层风格的优点:关注点分离、可替换、便于标准化;缺点是性能开销与层间耦合风险
  • 事件驱动(隐式调用)核心:发布-订阅、松耦合、控制流不确定

例题(带解析)

例题 1:某数据处理系统由多个处理环节串联,每个环节独立完成一种转换,数据依次流经各环节。该架构风格属于? A. 调用/返回风格 B. 数据流风格(管道-过滤器) C. 仓库风格 D. 虚拟机风格 答案 B。解析:数据依次流经独立处理单元(过滤器)、由管道连接,是典型的管道-过滤器(数据流)风格。

例题 2:4+1 视图模型中,用于描述并发与同步机制、面向系统集成人员的视图是? A. 逻辑视图 B. 进程视图 C. 开发视图 D. 物理视图 答案 B。解析:进程视图关注并发、同步、性能与吞吐;逻辑视图关注对象与职责,开发视图关注代码组织,物理视图关注部署拓扑。

⚠️ 易错提醒

  • 分层风格 ≠ 面向对象风格:分层强调"层间依赖单向",面向对象强调"对象封装与继承";
  • 事件驱动的控制流由事件触发,不确定,因此难以预测整体行为(可靠性设计需注意);
  • 黑板风格属仓库类(以共享数据为中心、由多个知识源协作),不要与"事件驱动"混淆;
  • 4+1 视图中的场景视图用于验证其他视图,不是独立的实现视图。