IOU 设计模式介绍及应用
2010-03-15 00:00:00 来源:WEB开发网核心提示: 图 1. IOU 模式时序图查看原图(大图)IOU 接口定义IOU 对象具备两种状态:一是未终止状态,意味着结果对象尚不可赎回;另一种是已终止状态,IOU 设计模式介绍及应用(2),意味着结果对象可赎回,IOU 对象同时需支持四种基本操作:支持对状态的查询操作;支持等待操作直至其被终止;支持对结
图 1. IOU 模式时序图
查看原图(大图)
IOU 接口定义
IOU 对象具备两种状态:一是未终止状态,意味着结果对象尚不可赎回;另一种是已终止状态,意味着结果对象可赎回。IOU 对象同时需支持四种基本操作:
支持对状态的查询操作;
支持等待操作直至其被终止;
支持对结果的赎回操作,若尚未终止则保持等待直至其被终止;
支持添加或删除回调对象的操作。
IOU 接口定义见清单 1。
清单 1. Iou 接口定义
public interface Iou
{
// 判断 IOU 对象是否已终止
boolean closed();
// 保持等待直至被终止
void standBy();
// 赎回结果,如果 IOU 对象尚未被终止则该方法将保持等待直至终止后再返回结果
Object redeem();
// 添加回调对象 cb
void addCallback(Callback cb);
// 删除回调对象 cb
void removeCallback(Callback cb);
}
Escrow 接口定义
Escrow 是第三方保管账户,它实际上扮演了一个桥梁作用。在债务关系建立初期,债务人通过 Escrow 向债权人发行 Iou;当债务关系结束时,债务人通过 Escrow 终止 Iou,并使其进入结果可赎回状态。如果债权人前期设置了回调对象,回调机制在 Iou 对象被终止时将立即执行债权人所提前设定的特定操作。Escrow 接口定义见清单 2。
更多精彩
赞助商链接