《重构与模式(修订版)》—第1章1.6节演进式设计

简介:

本节书摘来自异步社区《重构与模式(修订版)》一书中的第1章1.6节演进式设计,作者【美】Joshua Kerievsky,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 演进式设计
重构与模式(修订版)
今天,在对模式——这种“重构产生设计结构”已经非常熟悉之后,我了解到充分理解为什么要“通过重构实现模式或者重构趋向模式”,比理解应用模式的结果或者结果的实现细节更有价值。

如果想成为一名更优秀的软件设计师,了解优秀软件设计的演变过程比学习优秀设计本身更有价值,因为设计的演变过程中隐藏着真正的大智慧。演变所得到的设计结构当然也有帮助,但是不知道设计是怎么发展而来的,在下一个项目中你就很可能错误地应用,或者陷入过度设计的误区。

迄今为止,我们关于软件设计的文献更多地集中在讲授优秀的解决方案上,对这些解决方案的演变过程则重视不够。这种情况需要改变。正如伟大的诗人歌德说过的:“那些父辈们传下来的东西,如果你能拥有它,你就能重新得到它们。”重构方面的文献通过揭示优秀设计方案的演化过程,帮助我们更好地重新理解这些方案。

如果想发挥模式的最大效用,也必须这样做:将模式放到重构的背景中领会,而不是仅仅将模式视为与重构无关的可复用的要素。这恐怕就是我编写“模式导向的重构”目录的主要原因。

通过学习不断改进设计,你就能够成为一名更优秀的软件设计师,并且减少工作中过度设计和设计不足的情况。测试驱动开发和持续重构是演进式设计的关键实践。将“模式导向的重构”的概念注入如何重构的知识中,你会发现自己如有神助,能够不断地改进并得到优秀的设计。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
存储 SQL 关系型数据库
如何设计可落地的重构技术方案——理论篇
如何设计可落地的重构技术方案——理论篇
299 0
|
中间件 API 开发者
组装式架构重构未来平台研发模式
企业数字化转型如火如荼的进行中,快速响应市场需求变化,低成本进行数字化改造时每个企业追求的目标。而组装式架构可以完美解决B段客户对于软件平台的高质量要求。
组装式架构重构未来平台研发模式
|
3月前
|
测试技术
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
|
4月前
|
存储 设计模式 前端开发
软件架构设计的原则与模式:构建高质量系统的基石
【7月更文挑战第26天】软件架构设计是构建高质量软件系统的关键。遵循高内聚、低耦合、单一职责等设计原则,并灵活运用分层架构、微服务架构、客户端-服务器架构等设计模式,可以帮助我们设计出更加灵活、可扩展、可维护的软件系统。作为开发者,我们应该不断学习和实践这些原则与模式,以提升自己的架构设计能力,为团队和用户提供更加优秀的软件产品。
|
存储 缓存 算法
架构设计第八讲:架构 - 理解架构的模式2 (重点)
架构设计第八讲:架构 - 理解架构的模式2 (重点)
138 0
|
存储 数据可视化 架构师
「方案架构」“解决方案架构”日常思维
「方案架构」“解决方案架构”日常思维
|
消息中间件 缓存 负载均衡
架构重构的技巧
对软件代码做任何改动以增加可读性或者简化结构而不影响输出结果。
157 0
|
监控 前端开发 安全
大型 SPA 项目架构设计与重构
本文主要为分享我司 控制台 最近两年的架构演进,遇到的问题和解决方案等。控制台项目包含近百个不同产品,跨部门、跨地域协作开发,是一个比较典型的大型 SPA 前端项目。
大型 SPA 项目架构设计与重构
|
设计模式 JSON 测试技术
项目重构演进之路
项目重构演进之路
728 0
|
移动开发 开发框架 前端开发
前端领域模型,重构前端研发模式
阿里巴巴-大钉钉-前端团队-烛象 原创文章 进行本文分享,希望对在路上的同学们有所帮助
1252 0
前端领域模型,重构前端研发模式