01|架构是什么

架构的历史背景

第一次软件危机的根源在于软件的“逻辑”变得非常复杂,而第二次软件危机主要体现在软件的“扩展”变得非常复杂。结构化程序设计虽然能够解决(也许用“缓解”更合适)软件逻辑的复杂性,但是对于业务变化带来的软件扩展却无能为力,软件领域迫切希望找到新的银弹来解决软件危机,在这种背景下,面向对象的思想开始流行起来。

架构组成

系统 && 子系统

系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。

  • 关联

    没关联的个体堆在一起不能成为系统

  • 规则

    系统内个体按照指定的规则运作,不是各自为政

  • 能力

    系统能力不是个体能力之和,而是产生了新的功能

子系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。多半会是更大系统中的一部分

模块 && 组件

从逻辑的角度拆分系统,得到的单元是模块,划分模块的主要目的是职责分离
从物理的角度拆分系统,得到的单元是组件,划分组件的主要目的是单元复用
比如说一个会员信息管理网站,可以分为“会员信息模块”、“会员管理模块”;也可从物理角度出发分为“Nginx”、“web服务器”

框架 && 架构

框架关注的是规范,需要明确系统包含哪些个体、需要明确个体运作和协调的规则
架构关注的是结构

posted @ 2021-05-07 21:23  ShinyHeroF  阅读(161)  评论(0)    收藏  举报