基础架构-架构理论简析

时间:2024-04-09 21:28:36

基础架构-架构理论简析

01 | 导读

1、深究“架构”到底指什么,需要了解以下几个问题

1)系统与子系统
2)模块与组件
3)框架与架构

02 | 系统与子系统

1、定义

1)系统:系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”、“整体”或“联盟”。

2)子系统:子系统是由一群有关联的个体组成的系统,多半会是更大系统的一部分。

3)注:子系统的定义和系统定义是一样的,只是观察的角度有差异,一个系统可能是另外一个更大系统的子系统。

2、系统的关键内容

1)关联:系统是由一群有关联的个体组成的,没有关联的个体堆在一起不能成为一个系统。例如汽车就是一个系统,有发动机、车轮等组成。

2)规则:系统内的个体需要按照指定的规则运作,而不是单个个体各自为政。规则规定了系统内个体分工和协作的方式。例如汽车发动机产生动力。

3)能力:系统能力与个体能力有本质的差别,系统能力不是个体能力之和,而是产生了新的能力。例如汽车能够载重前行,发动机则不行。

03 | 模块与组件

1、按角度拆分

1)模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已。
2)模块:从逻辑角度来拆分系统后,得到的单元就是“模块”。
3)组件:从物理角度来拆分系统后,得到的单元就是“组件”。

2、按目的划分

1)划分模块的主要目的是职责分离;划分组件的主要目的是单元复用。
2)组件的英文component,可以译为“零件”,它是一个物理的概念,并且具备“独立且可替换”的特点。

3、一个例子,学生信息管理系统

1)从逻辑角度拆分:“登陆注册模块”、“个人信息模块”。
2)从物理角度拆分:Nginx、Web服务器、MySQL。

04 | 框架与架构

1、定义

1)软件框架(Software framework):指为了实现某个业界标准或者完成特定基本任务的软件组件规范,也指为了实现某个软件组织规范时,提供规范所要求之基础功能的软件产品。

2)软件架构:指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。

3)区别:框架关注的是“规范”,架构关注的是“结构”。
4)框架:Framework;架构:Architecture。

2、软件框架的关键部分

1)框架是组件规范。
2)框架提供基础功能的产品。

05 | 小结

1、架构重新定义:软件架构指软件系统的顶层结构。

2、 系统与子系统:系统是由一系列有关联,按特定规则组成的个体,并且产生新的能力,而系统与子系统则是观察的交角度不同。

3、 模块与组件:模块是从逻辑角度去看待,而组件是从物理角度去看待。

4、框架与架构:框架是规范也是约束,可以理解为封闭性的话题,定义好,让别人如何去使用,而架构是一种结构,是一种开放性的话题,如何去设计组织架构,如何让架构更具有拓展性,减少沟通错误成本。

06 | 思维导图

1、基础架构-架构理论思维导图
基础架构-架构理论简析

参考文献:

[1] 李运华. 从0开始学架构[M]. 极客时间, 2018.