演化架构与紧急设计: 组合方法和 SLAP
2009-11-05 00:00:00 来源:WEB开发网核心提示:在这个 系列 的前两期中,我讨论了如何使用测试驱动开发 (TDD) 帮助您逐步发现设计,演化架构与紧急设计: 组合方法和 SLAP,如果从头开始一个新项目,这种方法的效果非常好,对于现有的代码,应该怎么办呢?现在,但是,更常见的情况是您手中已经有许多并不完善的代码
在这个 系列 的前两期中,我讨论了如何使用测试驱动开发 (TDD) 帮助您逐步发现设计。如果从头开始一个新项目,这种方法的效果非常好。但是,更常见的情况是您手中已经有许多并不完善的代码,在这种情况下应该怎么办呢?如何在陈旧的代码库中找出可重用的资产和隐藏的设计?
本文讨论两个很成熟的模式,它们可以帮助您重构代码,寻找可重用的资产:组合方法 和单一抽象层 (SLAP) 原则。良好设计的元素已经在您的代码中存在了;您只需通过工具找出已经创建的隐藏的资产。
组合方法
科技的变化速度非常快,这有一种糟糕的副作用:开发人员常常会忽视软件知识。我们往往会认为几年前的东西一定已经过时了。这当然是不对的:许多老书仍然能够提供对于开发人员很重要的知识。这样的经典著作之一是 Kent Beck 所著的 Smalltalk Best Practice Patterns。作为 Java 开发人员,您可能会问,“13 年前的 Smalltalk 书对我有什么用呢?” Smalltalk 开发人员是第一批用面向对象语言编写程序的开发人员,他们首创了许多出色的思想。其中之一就是组合方法。
组合方法模式有三条关键规则:
把程序划分为方法,每个方法执行一个可识别的任务。
让一个方法中的所有操作处于相同的抽象层。
这会自然地产生包含许多小方法的程序,每个方法只包含少量代码。
在 “测试驱动设计,第 1 部分” 中,我在讨论在编写实际代码之前编写单元测试时讨论过组合方法。严格遵守 TDD 会自然地产生符合组合方法模式的方法。但是,对于现有的代码,应该怎么办呢?现在,我们来研究如何使用组合方法发现隐藏的设计。
更多精彩
赞助商链接