WEB开发网
开发学院软件开发Java IOU 设计模式介绍及应用 阅读

IOU 设计模式介绍及应用

 2010-03-15 00:00:00 来源:WEB开发网   
核心提示: IOU 模式的使用从被调方法的角度:首先构造 Escrow 对象,然后启动异步执行服务并关联 Escrow 对象,IOU 设计模式介绍及应用(4),最后返回 Escrow 对象发行的 Iou 对象,被调方法模型如清单 5 所示,然后才能访问结果,用户友好性的先天不足,清单 5. 被调方法的实现模

IOU 模式的使用

从被调方法的角度:首先构造 Escrow 对象,然后启动异步执行服务并关联 Escrow 对象,最后返回 Escrow 对象发行的 Iou 对象。被调方法模型如清单 5 所示。

清单 5. 被调方法的实现模型

public Iou method( … ) 
{ 
  // 首先创建 escrow 对象 
  Escrow escrow = new RealIouEscrow(); 
     
  // 启动异步服务,并关联 escrow 对象 
  …… 
     
  // 返回 escrow 发行的 Iou 欠条 
  return escrow.issueIou(); 
} 

从方法调用者的角度:调用者获得 Iou 对象后,可以继续进行其他事务,直到需要结果的时候再对 Iou 进行赎回操作以获得真正结果(假设其真实类型是 Foo 接口,该接口声明有 bar 方法),则调用者还要把结果转换到 Foo 类型,然后再调用 bar 方法。调用者模型如清单 6 所示。

清单 6. 调用者的实现模型

  // 调用 method 方法,获得 Iou 对象 
  Iou iou = method(); 
     
  // 执行其他事务 
  …… 
     
  // 通过 Iou 赎回操作获得真实 result 
  Object result = iou.redeem(); 
     
  // 将 result 类型转换到 Foo 
  Foo foo = (Foo)result; 
  // 然后访问 bar 方法 
  foo.bar(); 
  …… 

IOU 模式的不足之处

由于 Escrow 发行的都是 Iou 对象,这在无意间要求 IOU 模式下的方法必须统一声明返回 Iou 接口,从而隐藏了结果的真实类型,用户必须依靠记忆记住真实类型并强制转换,然后才能访问结果。用户友好性的先天不足,或许是限制 IOU 模式广泛使用的一大因素。

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

Tags:IOU 设计模式 介绍

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