系统架构的常用建模方法和评价架构的4+1观察视角

一、四种架构模型(建模的 4 种思路)

1. 结构模型【最常用】

关键词:构件、连接件、架构描述语言 ADL 通俗理解:把系统拆成一个个组件(构件),组件之间怎么相连(连接件),画出来系统长什么样。 比如微服务里各个服务就是构件,RPC 接口就是连接件。 重点描述:有哪些模块、模块之间怎么连接、有什么约束、是什么架构风格。 核心:静态长什么样,核心工具是架构描述语言 ADL。

2. 框架模型

关键词:不抠细节,看重整体大骨架,面向特定问题 和结构模型很像,但不去纠结每个组件内部细节。只搭大架子,用来解决某一类特定问题。 举例:MVC 框架,只规定分为 Model‑View‑Controller 三大块,不会规定每个类写什么代码。给一类问题提供整体骨架。

3. 动态模型

关键词:大颗粒行为、系统演化、重配置、激励触发 前面结构、框架更多偏向静态;动态模型看系统运行起来会发生什么变化 。 不是普通函数调用那种小动态,是大颗粒级别: 比如系统运行中重新扩容、动态增减服务节点、系统重构配置、启动 / 销毁通信链路。一般由某个事件 / 激励触发发生改变。 定位:是对结构 / 框架模型的补充。静态图纸 + 动态行为 = 完整。

4. 过程模型

关键词:构造系统的步骤、过程脚本 它不描述 "最终系统长啥样",而是描述怎么一步步把系统给搭建出来。 规定先干什么、后干什么,按照一套流程脚本,一步步得到最终架构。
✔小结 4 个模型考点:

  • 结构模型:构件 + 连接件,ADL,最普遍直观
  • 框架模型:整体骨架,忽略细节,面向特定问题
  • 动态模型:系统运行时大粒度行为、重配置、演化
  • 过程模型:构建系统的步骤流程
  • 四者不是互斥,需要组合使用。

二、4+1 视图(5 个观察视角)

4 个基础视图 + 1 个场景视图,场景用来验证前面 4 个视图。 每个视图只看系统的一个侧面,合在一起才是完整架构。

  1. 逻辑视角(逻辑视图) 面向功能需求;系统提供什么功能,抽象的模块、类、子系统、服务之间的逻辑关系。

回答:系统功能上分成哪些部分。

  1. 过程视角(进程视图) 关注运行时,线程、进程、并发、同步、性能吞吐量。

回答:程序跑起来之后,进程线程怎么协作,并发如何处理。

  1. 开发视角(开发视图 / 实现视图) 面向开发人员,代码如何组织,模块划分、包、库、源码目录,模块如何编译划分。

回答:代码仓库里面代码怎么拆分组织。

  1. 物理视角(部署视图) 硬件层面,软件部署在哪台服务器、机器、容器,网络如何连接。

回答:各个程序组件安装、跑在哪台机器上。

  1. +1:场景视图(场景,用例) +1 的那个,起到粘合剂、验证的作用。用关键业务场景 / 用例,去检验逻辑、过程、开发、物理这 4 个视图设计是否合理。看业务流程能不能跑通。

记忆口诀:逻过开物场

逻辑、过程、开发、物理,场景。

🎯概念区分

  1. 4 种模型:是建模方法(你用什么思路去造模型) 结构、框架、动态、过程。
  2. 4+1 视图:是观察架构的视角(造好模型,从哪 5 个角度看它) 逻辑、过程、开发、物理 + 场景。
相关推荐
Decay__4 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
安易算力9 小时前
Token计费系统设计与优化:算力API的后端架构实践
架构
Decay__13 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
一只爱撸猫的程序猿14 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
Dawson Zhu18 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi
say_fall1 天前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构
Decay__1 天前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
猿人谷1 天前
Surrogate Model:让进化算法学会“预测”,为什么它正在成为智能优化的重要技术?
后端·算法·架构
Kari111 天前
企业级智能体平台怎么选:腾讯云ADP与其他主流技术路线的架构对比
架构·云计算·腾讯云
泯泷1 天前
AI时代,中层还要替公司传多少次话?
人工智能·架构