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

架构图 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)帮助团队更高效地设计和理解软件系统,适用于微服务、单体应用等多种架构风格。

相关文章:

  • vscode打开的文件被覆盖/只能打开两个文件(Visual Studio Code)
  • ollama使用gpu运行大模型
  • 【Java学习方法】类变量
  • STM32单片机GUI系统1 GUI基本内容
  • 六台升降台完整的限位保护逻辑
  • java 在用redis 的时候,如何合理的处理分页问题? redis应当如何存储性能最佳
  • 【聚合MQ管理 第一章】一个项目管理多种MQ 之 ActiveMq
  • Manus与DeepSeek 的区别
  • Swagger在java的运用
  • Java基础 Day17
  • 云渲染技术解析与渲酷平台深度测评:如何实现高效3D创作?
  • OpenCV CUDA模块特征检测与描述------用于创建一个最大值盒式滤波器(Max Box Filter)函数createBoxMaxFilter()
  • Redis全攻略:解锁高性能数据存储与处理的奥秘
  • 为一套现有RAC搭建一个单实例备库,组成DG高可用架构
  • vue3+uniapp中使用高德地图实现撒点效果
  • Linux中的文件介绍
  • C++ 常见知识积累
  • Nginx 强制 HTTPS:提升网站安全性的关键一步
  • Temporary failure in name resolution
  • DVWA-XSS
  • 做企业网站设计方案/免费进入b站2022年更新
  • 上海专业网站建设报价/天津seo公司