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

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

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: SLAP组合方法的定义的第二部分指出,您应该 “让一个方法中的所有操作处于相同的抽象层”,演化架构与紧急设计: 组合方法和 SLAP(8),下面给出一个应用此原则的示例,帮助您理解它的意义以及它对设计的影响, 请考虑清单 6 中的代码,这些代码取自一个小型电子商务应用程序

SLAP

组合方法的定义的第二部分指出,您应该 “让一个方法中的所有操作处于相同的抽象层”。下面给出一个应用此原则的示例,帮助您理解它的意义以及它对设计的影响。

请考虑清单 6 中的代码,这些代码取自一个小型电子商务应用程序。addOrder() 方法接受几个参数并把订单信息存储进数据库中。


清单 6. 取自某电子商务站点的 addOrder() 方法
public void addOrder(ShoppingCart cart, String userName, 
           Order order) throws SQLException { 
  Connection c = null; 
  PreparedStatement ps = null; 
  Statement s = null; 
  ResultSet rs = null; 
  boolean transactionState = false; 
  try { 
    s = c.createStatement(); 
    transactionState = c.getAutoCommit(); 
    int userKey = getUserKey(userName, c, ps, rs); 
    c.setAutoCommit(false); 
    addSingleOrder(order, c, ps, userKey); 
    int orderKey = getOrderKey(s, rs); 
    addLineItems(cart, c, orderKey); 
    c.commit(); 
    order.setOrderKeyFrom(orderKey); 
  } catch (SQLException sqlx) { 
    s = c.createStatement(); 
    c.rollback(); 
    throw sqlx; 
  } finally { 
    try { 
      c.setAutoCommit(transactionState); 
      dbPool.release(c); 
      if (s != null) 
        s.close(); 
      if (ps != null) 
        ps.close(); 
      if (rs != null) 
        rs.close(); 
    } catch (SQLException ignored) { 
    } 
  } 
} 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:演化 架构 紧急

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