一文全搞懂:业务架构、应用架构、数据架构、技术架构与系统和复杂度
目录
一、关于系统的理解
二、关于架构的理解
三、关于复杂的理解
四、后记
一、关于系统的理解
1、系统的概述
2、系统三大基本特征
目的性:任何系统都有一定的目的。
动态性:动态性说明系统会发展。
有序性:任何系统本质上都是有序的,如果不是,说明我们对系统的描述还不够深刻。
3、系统思维的四层境界
4、系统的分类
二、关于架构的理解
三、关于复杂的理解
描述它有多困难; 产生它有多困难; 其组织程度如何?
无法表达其概念,超出了人类语言的表达能力范畴 无法描述其过程,超出了人类的理解能力。 无法度量其结果,没有度量就无法管理,复杂到难以有精确的方式进行度量。
表面复杂度:一个系统经过抽象、简化、分层、构建呈现出来的复杂度,是人类最直观理解的复杂度。例如一个系统架构图所呈现的复杂度就是表面复杂度。 必备复杂度:支持一个功能所需要的必备复杂度,也就是理论复杂度。 实际复杂度:实际上包含因为技术限制、资源限制、过程浪费导致的不必要的复杂度。
Simple(简单):知道因就能知道果。 Complicated(繁杂):由因可能推出不同的果,需要一定的领域知识,才能分析出因果。 Complex(复杂):不知因,也不知果。直观上找不出因果,必须事后复盘才可以。 Chaotic(混乱):知道因果不重要了,重要的是要构建秩序,使系统稳定下来。 Disorder(无序):复杂到都无法按照以上四个概念定义。
四、后记
本文的内容是结合以往的学习、收集整理而来。越整理越发现里面的知识越庞大,每个点都可以展开。所以这里很多地方只是简要带过,有时间再进一步整理。推荐三本书 :
《系统架构-复杂系统的产品设计与开发》对我来说,简直是开天眼的书。本文的有些思路和语句也是从这本书里摘录的
《软件架构-架构模式、特征及实践》
《领域驱动设计》 这本书在笔者部门几乎人手一本
参考资料
https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
https://www.yijiyong.com/architecture/basic/02-essence.html
https://www.infoq.cn/article/c4-architecture-model
https://c4model.com/
https://zhuanlan.zhihu.com/p/442963069
https://www.cnblogs.com/lex-wu/p/13305380.html
http://