《架构整洁之道》摘录 – 15
第 15 章 – 什么是软件架构
软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。
软件架构这项工作的实质就是规划如何将系统切分成组件,并安排好组件之间的排列关系,以及组件之间互相通信的方式。而设计软件架构的目的,就是为了在工作中更好地对这些组件进行研发、部署、运行以及维护。
软件架构的终极目标就是最大化程序员的生产力,同时最小化系统的总运营成本。
实现一键式的轻松部署应该是我们设计软件架构的一个目标。
设计良好的系统架构应该可以使开发人员对系统的运行过程一目了然。
在软件系统的所有方面中,维护所需的成本是最高的。
一个优秀的软件架构师应该致力于最大化可选向数量。
优秀的架构师会小心地将软件的高层策略与其底层实现隔离开,让高层策略与实现细节脱钩,使其策略部分完全不需要关心底层细节,当然也不会对这些细节有任何形式的依赖。另外,优秀的架构师所设计的策略应该允许系统尽可能地推迟与实现细节相关的决策,越晚做决策越好。