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

IOU 设计模式介绍及应用

 2010-03-15 00:00:00 来源:WEB开发网   
核心提示: 扩展 IOU 模式带来了更好的用户体验,在使用方法上也有所改进,IOU 设计模式介绍及应用(6),清单 5 和清单 6 改进后的实现分别是清单 8 和清单 9,清单 8. 被调方法的实现模型(改进后)publicFoomethod(…){//首先创建扩展的escrow对象,指定结果

扩展 IOU 模式带来了更好的用户体验,在使用方法上也有所改进。清单 5 和清单 6 改进后的实现分别是清单 8 和清单 9。

清单 8. 被调方法的实现模型(改进后)

public Foo method( … ) 
{ 
  // 首先创建扩展的 escrow 对象 , 指定结果类型为 Foo 
  Escrow escrow = new RealIouEscrowEx(Foo.class); 
     
  // 启动异步服务,并关联扩展 escrow 对象 
  …… 
     
  // 发行 escrow 发行的 Iou 欠条,这里可以安全的类型转换到 Foo 再返回 
  return (Foo)escrow.issueIou(); 
} 

清单 9. 调用者的实现模型(改进后)

  // 调用 method 方法,获得 Foo 对象(其实是一 
  // 个同时代理了 Iou 接口和 Foo 接口的代理对象) 
  Foo foo = method(); 
     
  // 执行其他事务 
  …… 
     
  // 可以直接在 foo 上调用 bar,效果完全等 
  // 价于在真正的返回对象上调用 bar 方法 
  foo.bar() 
     
  …… 

实例演示

接下来通过一个实例来演示 IOU 设计模式的实际应用,例子描述了一位女管家如何通过 IOU 模式来更加有效地处理家务的故事。

涉及的接口有:顶层接口 Processable 及其子接口 Clothes 和 Food。Processable 接口声明了 process 方法,子接口 Food 声明了 addSpice 方法。Clothes 经过清洗(process)变得干净;Food 经过烹饪(process)变得可食用,而且 Food 还能够添加调味香料(addSpice)。具体实现类为 ChothesImpl 和 FoodImpl。

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

Tags:IOU 设计模式 介绍

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