架构到底是指什么?

架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。
我们要做的东西都能抽象为一个系统,架构既可做动词也可做名词,作为动词就代表系统的设计,作为名词就代表系统的表现形式。
所以架构首先继承了系统的属性:
0、系统整体有价值
1、由多个有关系的个体组成
2、涌现,整体大于个体之和,也就是文中说的“流”出来的新的价值
系统的架构从无到有由人来执行,所以也具备人思考和交流的属性:
0、思维带宽较小,不能同时考虑很多事情,需要把系统做分解(模块和组件)
1、线性思想和交流,多维关系要降级到二维关系(4+1视图等多种方法论)
2、人作为个体的个性化-也即多样性,架构没用统一标准,适合自己/团队/公司最重要。
系统与子系统:系统是由一系列有关联,按特定规则组成的个体,并且产生新的能力,而系统与子系统则是观察的交角度不同
模块与组件:模块是从逻辑角度去看待,而组件是从物理角度去看待
框架与架构:框架是规范也是约束,可以理解为封闭性的话题,定义好,让别人如何去使用,而架构是一种结构,是一种开放性的话题,如何去设计组织架构,如何让架构更具有拓展性,减少沟通错误成本
框架和架构其实不一定有什么关联关系。架构是为了实现某个功能而设计的一种结构方式。虽然架构一词高大上,但你只要实现了自己的功能,你的结构就是架构。有了架构,你就有了工作的思路和方向。框架是实现功能的一种规范,你必须在这种规范下工作。注意,定义中说框架是定义组建的规范,所以框架里面不一定非得有组建和模块。
模块是从职责划分的角度来观察,实现某个功能的职责,称之为模块。比如登陆模块。要实现的某个功能,我们一般称之为模块。
组件的本质是可以独立实现某项功能的零件。它的特点是独立,可替换
组件与模块的区别是,组件可能是为了实现模块而实现的。但是实现功能的模块不能称为组件。

posted @ 2020-08-13 11:59  日落西风又在吹  阅读(2294)  评论(0编辑  收藏  举报