设计模式之责任链模式

来源:互联网 发布:windows thin pc安装 编辑:程序博客网 时间:2024/06/06 00:46

责任链模式是一种对象的行为模式,所涉及到的角色有:
第一,抽象处理者角色,定义出一个处理请求的接口,假如需要,接口可以定义出一个方法,以返回对下家的引用。
第二,具体处理者角色,处理接到的请求后,可以选择将请求处理掉,或者将请求传给下家。

public abstract class Handler(){    private Handler successor;    public void handleRequest(){        if(successor!=null){            successor.handleRequest();        }    }    public getSuccessor(){        return successor;    }    public setSuccessor(Handler aSuccessor){        this.successor = aSuccessor;    }}public class ConcreteHandler extends Handler(){    public void handleRequest(){        if(getSuccessor!=null){            getSuccessor.handleRequest();        }else{            //        }    }}public class Client(){    private Handler handler;    public static void main(){        handler = new ConcreateHandler();        //        //    }}

责任链模式的实现

首先,链结构的由来值得指出的是,责任链模式并不创建出责任链。责任链的创建必须有系统的其他部分完成。责任链模式降低了请求的发送端和接收端之间的耦合,使多个对象都有机会处理这个请求。一个链可以是一条线,一个树,也可以是一个环。但责任链模式要求在同一个时间里,命令只能传给一个下家。

一个对象最终处理一个命令可以因为由那些对象参加责任链,以及这些对象在责任链上的位置不同而有所不同。

原创粉丝点击