演化架构与紧急设计: 组合方法和 SLAP - 编程入门网
演化架构与紧急设计: 组合方法和 SLAP时间:2011-07-13 IBM Neal Ford简介:如何在陈旧的代码库中找出隐藏的设计?本文讨论两种对于代码结构很重要的模式:组合方法 和单一抽象层。对代码应用这些原则有助于找到以前隐藏的可重用资产,有助于把现有的代码抽象为成熟的框架。 在这个 系列 的前两期中,我讨论了如何使用测试驱动开发 (TDD) 帮助您逐步发现设计。如果从头开始一个新项目,这种方法的效果非常 好。但是,更常见的情况是您手中已经有许多并不完善的代码,在这种情况下应该怎么办呢?如何在陈旧的代码库中找出可重用的资产和隐藏 的设计? 本文讨论两个很成熟的模式,它们可以帮助您重构代码,寻找可重用的资产:组合方法 和单一抽象层 (SLAP) 原则。良好设计的元素已经 在您的代码中存在了;您只需通过工具找出已经创建的隐藏的资产。 组合方法 科技的变化速度非常快,这有一种糟糕的副作用:开发人员常常会忽视软件知识。我们往往会认为几年前的东西一定已经过时了。这当然是 不对的:许多老书仍然能够提供对于开发人员很重要的知识。这样的经典著作之一是 Kent Beck 所著的 Smalltalk Best Practice Patterns 。作为 Java 开发人员,您可能会问,“13 年前的 Smalltalk 书对我有什么用呢?” Smalltalk 开发人员是第一批用面向对象语言编写程序 的开发人员,他们首创了许多出色的思想。其中之一就是组合方法。 组合方法模式有三条关键规则: 把程序划分为方法,每个方法执行一个可识别的任务。 让一个方法中的所有操作处于相同的抽象层。 这会自然地产生包含许多小方法的程序,每个方法只包含少量代码。 在 “测试驱动设计,第 1 部分” 中,我在讨论在编写实际代码之前编写单元测试时讨论过组合方法。严格遵守 TDD 会自然地产生符合组 合方法模式的方法。但是,对于现有的代码,应该怎么办呢?现在,我们来研究如何使用组合方法发现隐藏的设计。 惯用模式 您可能很熟悉正式的设计模式运动,这一运动起源于 Gang of Four 所著的 Design Patterns。它描述了应用于所有项目的通用模式。但是 ,每个解决方案还包含惯用模式,这些模式不够正式,但是得到了普遍应用。惯用模式代表代码中常用的设计习惯。紧急设计的真正诀窍就是 发现这些模式。它们包括从纯技术模式(例如这个项目中处理事务的方式)到问题领域模式(比如 “在发货之前总是要检查客户的信用”)的 各种模式。 重构成组合方法 请考虑清单 1 中的简单方法。它使用低层 JDBC 连接一个数据库,收集 Part 对象,把它们放在一个 List 中: 清单 1. 用于收集 Part 的简单方法
演化架构与紧急设计: 组合方法和 SLAP(2)时间:2011-07-13 IBM Neal Ford混杂的方法 混杂(Olio) 是指 “不同类型的东西的集合”,也就是俗话所说的 “大杂烩”。(这个词经常出现在填字游戏中) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |