软件设计本质
一旦你能理解软件开发中任何其他技术目标都不如管理复杂度重要时,众多的设计上的考虑都变得直截了当了。
高质量设计就是在一系列相互竞争的目标之中做出一套最好的折中方案。
软件设计特征
最小的复杂度
应该做出简单易于理解的设计。如果你的设计方案不能让你专注于程序的一部分而安心忽略其它部分的话,那么你的设计就没什么作用了。
易于维护
代码自明
松散耦合
可扩展性
增强功能而不需破坏底层,越是可能的改动,越不会给系统带来破坏。
一旦你能理解软件开发中任何其他技术目标都不如管理复杂度重要时,众多的设计上的考虑都变得直截了当了。
高质量设计就是在一系列相互竞争的目标之中做出一套最好的折中方案。
应该做出简单易于理解的设计。如果你的设计方案不能让你专注于程序的一部分而安心忽略其它部分的话,那么你的设计就没什么作用了。
代码自明
增强功能而不需破坏底层,越是可能的改动,越不会给系统带来破坏。
评论