您的位置:首页 > 大数据 > 人工智能

十一个行为型模式1:职责链模式-Chain of Responsibility Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】

2017-09-19 21:22 513 查看
引入动机:职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。

链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链上即可,将请求的发送者和请求的处理者解耦。这就是职责链模式的模式动机。

职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。由于英文翻译的不同,职责链模式又称为责任链模式,它是一种对象行为型模式。



职责链模式包含如下角色:

Handler: 抽象处理者

public abstract class Handler
{
protected Handler successor;

public void setSuccessor(Handler successor)
{
this.successor=successor;
}

public abstract void handleRequest(String request);
}


ConcreteHandler: 具体处理者

public class ConcreteHandler extends Handler
{
public void handleRequest(String request)
{
if(请求request满足条件)
{
......  //处理请求;
}
else
{
this.successor.handleRequest(request); //转发请求
}
}
}


Client: 客户类

可以参考这个例子



参考链接:

职责链模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐