《从零开始学架构》读后感

什么是架构?

要想回答这个问题,关键在于梳理几个有关系而又相似的概念,包括系统、子系统、模块、组件、框架和架构。

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

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

模块:软件模块(Module)是一套一致且相互紧密关联的软件组织,它包含程序和数据结构两部分。现代软件开发往往利用模块作为合成的单位。模块的接口表达了由该模块提供的功能和调用它时所需的元素。

组件:软件组件(Component)定义为自包含的、可编程的、可重用的、与语言无关的软件单元,软件组件可以很容易地被用于组装应用程序。

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

架构:软件架构指软件系统的顶层结构。
架构的目的:解决软件开发过程中的业务复杂度。

架构的设计原则?

合适原则:“合适优于业界领先”。真正优秀的架构都是在企业当前人力、条件、业务等各种约束下设计出来的,能够合理地将资源整合在一起并发挥出最大功效,并且能够快速落地。
简单原则:“简单优于复杂”。软件领域的复杂性体现在结构复杂性:组成复杂系统的组件数量多,组件之间的关系复杂,带来3个问题,1组件越多出现故障的几率越大,2单个组件出问题会影响到关联的多个组件,3定位问题比较麻烦;逻辑复杂性:难理解,不易维护。
演化原则:“演化优于一步到位”。架构师在进行架构设计时,时刻提醒自己不要贪大求全,或者盲目照搬大公司的做法,而是认真分析当前的业务特点,明确业务面临的主要问题,设计合理地架构,快速落地以满足业务需要,然后在运行过程中不断完善架构,不断随着业务演化架构。

posted on 2021-12-02 13:42  阿泰555  阅读(27)  评论(0编辑  收藏  举报

导航