1、架构基础
1、系统与子系统
系统:由一群有关联的个体,根据某种规则运作,能完成个别元件不能完成的工作的群体。关键词:关联、规则、能力。关联--发动机和PC放在一起不能称为系统,把发动机、底盘、轮胎、车架组合起来才能称为一台汽车(系统);规则:发动机负责动力、车轮负责行走;能力:汽车能够载重前行。
子系统:子系统也是由一群关联的个体所组成的系统,多半是更大系统中的一部分。以微信为例子:微信本身是一个系统,包含聊天、登录、支付、朋友圈子系统。
2、模块与组件
从逻辑的角度来拆分后得到的单元就是模块,从物理的角度来拆分系统得到的单元就是组件;划分模块的主要目的是职责分离,划分组件的主要目的是单元复用。
3、框架与架构
框架:通常指的是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求的基础功能的软件产品。
架构:软件架构指软件系统的顶层结构!系统由一群关联的个体组成,这些个体可以是子系统、模块、组件等,架构需要明确系统包含哪些个体。其次系统中的个体需要根据某种规则运作,架构需要明确个体运作和协作的规则。
4、架构设计的真正目的
架构设计的主要目的是为了解决复杂度带来的问题。
5、复杂度来源
高性能、高可用、可扩展、低成本、安全、规模