演化架构与紧急设计: 组合方法和 SLAP
2009-11-05 00:00:00 来源:WEB开发网惯用模式
您可能很熟悉正式的设计模式运动,这一运动起源于 Gang of Four 所著的 Design Patterns。它描述了应用于所有项目的通用模式。但是,每个解决方案还包含惯用模式,这些模式不够正式,但是得到了普遍应用。惯用模式代表代码中常用的设计习惯。紧急设计的真正诀窍就是发现这些模式。它们包括从纯技术模式(例如这个项目中处理事务的方式)到问题领域模式(比如 “在发货之前总是要检查客户的信用”)的各种模式。
重构成组合方法
请考虑清单 1 中的简单方法。它使用低层 JDBC 连接一个数据库,收集 Part 对象,把它们放在一个 List 中:
清单 1. 用于收集 Part 的简单方法 public void populate() throws Exception {
Connection c = null;
try {
Class.forName(DRIVER_CLASS);
c = DriverManager.getConnection(DB_URL, USER, PASSWORD);
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery(SQL_SELECT_PARTS);
while (rs.next()) {
Part p = new Part();
p.setName(rs.getString("name"));
p.setBrand(rs.getString("brand"));
p.setRetailPrice(rs.getDouble("retail_price"));
partList.add(p);
}
} finally {
c.close();
}
}
混杂的方法
混杂(Olio) 是指 “不同类型的东西的集合”,也就是俗话所说的 “大杂烩”。(这个词经常出现在填字游戏中)。混杂的方法 是包含各种功能的大型方法,涉及问题领域的各个方面。根据定义,代码库中达到 300 行的方法就是混杂的方法。这么大的方法怎么可能是内聚的呢?混杂的方法是阻碍重构、测试和紧急设计的主要因素之一。
更多精彩
赞助商链接