WEB开发网
开发学院软件开发Java 演化架构与紧急设计: 组合方法和 SLAP 阅读

演化架构与紧急设计: 组合方法和 SLAP

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 清单 1 不包含任何特别复杂的东西,但是,演化架构与紧急设计: 组合方法和 SLAP(3),它也不包含明显的可重用代码,尽管它相当短,因此,我将根据组合方法模式重构这个方法,但是仍然应该重构,组合方法模式指出

清单 1 不包含任何特别复杂的东西。但是,它也不包含明显的可重用代码。尽管它相当短,但是仍然应该重构。组合方法模式指出,每个方法应该只做一件事,这个方法违反了此规则。我认为,在 Java 项目中任何超过 10 行代码的方法都应该考虑重构,因为它很可能做多件事。因此,我将根据组合方法模式重构这个方法,看看是否可以分离出原子性部分。重构的版本见清单 2:


清单 2. 重构的 populate() 方法
public void populate() throws Exception { 
  Connection c = null; 
  try { 
    c = getDatabaseConnection(); 
    ResultSet rs = createResultSet(c); 
    while (rs.next()) 
      addPartToListFromResultSet(rs); 
  } finally { 
    c.close(); 
  } 
} 
 
private ResultSet createResultSet(Connection c) 
    throws SQLException { 
  return c.createStatement(). 
      executeQuery(SQL_SELECT_PARTS); 
} 
 
private Connection getDatabaseConnection() 
    throws ClassNotFoundException, SQLException { 
  Connection c; 
  Class.forName(DRIVER_CLASS); 
  c = DriverManager.getConnection(DB_URL, 
      "webuser", "webpass"); 
  return c; 
} 
 
private void addPartToListFromResultSet(ResultSet rs) 
    throws SQLException { 
  Part p = new Part(); 
  p.setName(rs.getString("name")); 
  p.setBrand(rs.getString("brand")); 
  p.setRetailPrice(rs.getDouble("retail_price")); 
  partList.add(p); 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:演化 架构 紧急

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接