架构设计的C4模型

Posted CodeSecurity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构设计的C4模型相关的知识,希望对你有一定的参考价值。


C4模型是来自software architecture for developers一书的定义,指的是context上下文场景、container容器、component组件和 classe类,意思指一个软件架构是由这些模型呈树形结构组成。



1.为哪些用户提供什么服务?语境图

Context/系统System: 一个系统是一个高层次抽象和代表,一个系统由多个单独的容器组成,比如财务系统,银行系统或网站系统等。

可以给非技术人员看,画清楚构建什么样的系统、谁使用它,以及如何融入自己已有的东西。

2.完成这个系统使用了哪些服务?容器图

容器Container: 一个容器代表组件执行或驻留的地方,这可能是一个Web容器或应用服务器,也可以是富客户端应用或数据库,容器是做为系统一部分启动的,容器之间通讯是通过远程接口如 SOAP web service, RESTful interface, Java RMI, Microsoft WCF, messaging等进行, Docker可以认为是一个这样的容器。

一般给开发人员看,画清楚软件整体形态、关键决策、职责划分,以及在哪里写代码。

3.每一个服务是由哪些组件实现的? 组件图

组件Component: 一个组件可以认为是由一个或多个类组成的逻辑组,比如一个审计audit组件或授权服务能够用于决定资源的访问是否被允许,组件典型地由许多协同类组成微服务架构可以认为是一种组件。

一般给内部开发人员看,画清楚系统组成部件、部件之间的层级关系和依赖、细化交付的内容。

4.实现这个组件需要完成什么?类图

类Classe: 这是面向对象世界常用, 类是我们系统最小的构建模块。

同样一般是给内部开发人员看,有时序图、类图、逻辑视图、流程图等等,就非常细节了


以上是关于架构设计的C4模型的主要内容,如果未能解决你的问题,请参考以下文章

架构设计02C4架构模型-四步完成绝大部分的设计

工程能力之C4模型

架构设计的本质

什么是架构 | 企业系统的架构设计方法

软件架构与设计-----架构模型

架构设计的本质(文末送书)