本节书摘来自异步社区《重构与模式(修订版)》一书中的第1章1.6节演进式设计,作者【美】Joshua Kerievsky,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.6 演进式设计
重构与模式(修订版)
今天,在对模式——这种“重构产生设计结构”已经非常熟悉之后,我了解到充分理解为什么要“通过重构实现模式或者重构趋向模式”,比理解应用模式的结果或者结果的实现细节更有价值。
如果想成为一名更优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀设计本身更有价值,因为设计的演变过程中隐藏着真正的大智慧。演变所得到的设计结构当然也有帮助,但是不知道设计是怎么发展而来的,在下一个项目中你就很可能错误地应用,或者陷入过度设计的误区。
迄今为止,我们关于软件设计的文献更多地集中在讲授优秀的解决方案上,对这些解决方案的演变过程则重视不够。这种情况需要改变。正如伟大的诗人歌德说过的:“那些父辈们传下来的东西,如果你能拥有它,你就能重新得到它们。”重构方面的文献通过揭示优秀设计方案的演化过程,帮助我们更好地重新理解这些方案。
如果想发挥模式的最大效用,也必须这样做:将模式放到重构的背景中领会,而不是仅仅将模式视为与重构无关的可复用的要素。这恐怕就是我编写“模式导向的重构”目录的主要原因。
通过学习不断改进设计,你就能够成为一名更优秀的软件设计师,并且减少工作中过度设计和设计不足的情况。测试驱动开发和持续重构是演进式设计的关键实践。将“模式导向的重构”的概念注入如何重构的知识中,你会发现自己如有神助,能够不断地改进并得到优秀的设计。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。