物理建筑的结构一目了然,但软件项目没有定律可循。
有效分离(系统、程序)控制和(业务)逻辑,会让系统得到最大的简化。
第一部分
如果系统的每次发布,都会提升下一次变更的成本,那么这个设计就是不好的。
大家常用一句话来欺骗自己:“我们可以以后再重构代码,产品上线最重要!”但是结果大家都知道,产品上线以后重构工作就再没人提起了。开发的压力永远也不会消退,产品后面有无数的竞争对手追赶,必须要比他们跑得更快才能保持领先。
软件系统的行为是其最直观的价值维度:程序员的工作就是让机器按照某种指定方式运转。
软件系统的第二个价值维度是架构价值。软件系统必须保持灵活,好的系统架构设计应该尽可能做到与”形状“无关。
有效分离(系统、程序)控制和(业务)逻辑,会让系统得到最大的简化。
第一部分
如果系统的每次发布,都会提升下一次变更的成本,那么这个设计就是不好的。
大家常用一句话来欺骗自己:“我们可以以后再重构代码,产品上线最重要!”但是结果大家都知道,产品上线以后重构工作就再没人提起了。开发的压力永远也不会消退,产品后面有无数的竞争对手追赶,必须要比他们跑得更快才能保持领先。
软件系统的行为是其最直观的价值维度:程序员的工作就是让机器按照某种指定方式运转。
软件系统的第二个价值维度是架构价值。软件系统必须保持灵活,好的系统架构设计应该尽可能做到与”形状“无关。