当前位置: 首页 > web >正文

架构图 C4 规范简介

架构图 C4 规范简介

C4(Context, Containers, Components, Code)是一种用于软件架构可视化的分层建模方法,由 Simon Brown 提出。它通过四个不同层次的抽象来描述软件系统,适用于不同受众(如业务人员、架构师、开发人员等),帮助团队更好地理解和沟通系统架构。

C4 规范的四个层次

层次名称描述目标受众
1系统上下文图(System Context)最高层抽象,描述系统与外部用户、其他系统的交互业务人员、利益相关者
2容器图(Containers)展示系统的整体架构,包括应用、数据库、微服务等架构师、技术负责人
3组件图(Components)描述容器内部的逻辑组件及其交互开发团队
4代码图(Code)最底层,展示类、接口等具体实现开发人员

1. 系统上下文图(Context)

问题: 系统与哪些外部实体交互?
示例元素:

  • 用户(Actor)
  • 外部系统(如支付网关、第三方API)
  • 当前系统(核心业务)

示例图:
在这里插入图片描述

2. 容器图(Containers)

问题: 系统由哪些主要技术组件构成?
示例元素:

  • Web 应用(前端/后端)
  • 数据库(MySQL, MongoDB)
  • 消息队列(Kafka, RabbitMQ)
  • 微服务(订单服务、支付服务)

示例图:
在这里插入图片描述

3. 组件图(Components)

问题: 每个容器内部有哪些逻辑组件?
示例元素:

  • 控制器(Controller)
  • 服务层(Service)
  • 数据访问层(Repository)

示例图(商品服务组件):
在这里插入图片描述

4. 代码图(Code)

问题: 组件如何用代码实现?
示例元素:

  • 类(Class)
  • 接口(Interface)
  • 方法(Method)

示例图(UML类图):
在这里插入图片描述

C4 规范的优势

  • 分层抽象:适应不同角色的需求(业务 vs. 技术)
  • 清晰沟通:避免过于复杂或过于简化的架构图
  • 标准化:提供一致的建模方法,便于团队协作
  • 可扩展:可结合 UML、流程图等进一步细化

总结

C4 规范通过分层架构图(Context → Containers → Components → Code)帮助团队更高效地设计和理解软件系统,适用于微服务、单体应用等多种架构风格。

http://www.xdnf.cn/news/8005.html

相关文章:

  • 力扣-两数之和
  • 鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
  • 安卓基础(代码解析)
  • YOLO11解决方案之VisonEye对象映射
  • 利用 Java 爬虫根据关键词获取某手商品列表
  • 人工智能应用时代:个人成长与职业突围的底层逻辑
  • 黑马+点评常见问题
  • 配电网运行状态综合评估方法研究
  • API测试框架全解析
  • 咽拭子+病毒采样管助力多项呼吸道病原体核酸检测!
  • 2025第一届轩辕杯--Crypto--WriteUp
  • 【Netty】- 入门1
  • 可理解性输入:逛超市
  • git合并多次commit提交
  • RK3588+CODESYS+望获实时Linux - 软PLC运动控制解决方案
  • 回归分析(线性/非线性)
  • docker常用指令
  • 自制操作系统day6(GDTR、段描述符、PIC、实模式和保护模式、16位到32位切换、中断处理程序、idt的设定、EFLAG寄存器)(ai辅助整理)
  • JVM梳理(逻辑清晰)
  • 为何天线的长度设计为频率波长的四分之一?
  • TurboID技术:邻近标记技术的高效工具
  • Mujoco 学习系列(三)机器人状态IO与仿真操作
  • android RecyclerView列表DiffCallback说明
  • UI自动化测试框架:PO模式+数据驱动
  • 【面试题】Session 和 Cookie 的区别
  • 在Windows上安装Pygame 2.1.3:解决常见问题
  • CountDownLatch设计原理剖析:同步屏障的底层逻辑
  • 网络 :网络基础【网络框架认识】
  • DPDK 技术详解:榨干网络性能的“瑞士军刀”
  • 英伟达CEO黄仁勋COMPUTEX 2025演讲实录:AI工厂时代已来,Blackwell架构全面投产