本书主题

  • 介绍什么是优秀的软件架构,以提高软件架构质量
  • 介绍系统架构的各种属性与成本和生产力的关系,以采用好的设计和架构以便减少构建成本

好的软件架构可以带来什么?

  • 大大节省软件项目构建与维护的人力成本
  • 每次变更:改动少,易于实施,不容易出bug
  • 用最小的成本,最大程度满足功能性和灵活性(这也是软件架构的终极目标)

软件架构的难吗?

  • 软件架构设计是非常困的,需要大多程序员所不具备的经验和技能

  • 做一个好的软件架构师所需要的自律和专注程度让大部分程序员始料未及

设计与架构有什么区别?

  • 设计就是架构,架构就是设计,二者没有任何区别!

  • 底层设计细节和高层架构信息是一系列决策组成的连续体,是不可分割的。

软件开发的一个核心特点

  • 要想跑得快,先要跑得稳

软件的两个价值维度

  • 行为价值

  • 架构价值

架构价值更重要,尤其是对架构师来说。架构师要关注系统的整体结构,创建出一个可以让功能实现起来更容易、修改起来更简单、扩展起来更轻松的软件架构。