西蒙布朗-C4模型

关于 C4 模型的一些解释

C4 模型是来自 software architecture for developers 一书的定义,指的是 Context 上下文场景、Container 容器、Component 组件和 Classes 类(或者 Code 代码),意思指一个软件架构是由这些模型呈树形结构组成。

关注代码仍然是大多数软件开发生命周期中关注的焦点,这是有一定道理,因为代码是最终交付。但如果你不得不向别人解释关于系统是如何工作的,你会从代码开始解释吗?

确实代码并不能讲述系统的整个故事,在缺乏文档的情况下,人们通常会开始在白板上或纸上用图框和线条解释系统的主要构建块是什么,它们是如何连接的。而使用 Microsoft Visio, Rational Software Architect 或 Sparx Enterprise Architect 等专业工具又比较复杂。

更好的办法是在不同的抽象层次创建不同的图 diagram,一个简单的图 diagram 比复杂的图能够更有效表达描述。下图是 C4 模型的示意图:

 

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

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

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

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

转载于:https://www.cnblogs.com/yako/p/8461469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值