这是什么
软件设计涵盖在实现之前和过程中用来构建代码库的原则和模式——包括模块化、抽象、耦合与内聚、设计模式,以及使大型系统保持可维护的架构风格等概念。
为什么重要
糟糕的软件设计不会立即显现——它会在几个月后显现,当一个简单的改动需要触及数十个文件时,这就是为什么干净设计的能力,是让代码能挺过项目生命周期、还是变成难以驾驭的技术债务之间的区别。
考试小贴士
评估一个设计时,问问自己一个可能发生的未来改动,是需要修改单一位置,还是分散在许多地方——这一个问题,比背诵教科书定义更有效地抓住了耦合与内聚的本质。
