责任链模式

来源:互联网 发布:java 写入word 编辑:程序博客网 时间:2024/04/29 22:50
/** *  * @author: muyichun * @date  : 2016年3月23日17:24:38 * @function: 责任链模式 */public class Main{public static void main(String[] args) {MyHandler h1 = new MyHandler("h1");MyHandler h2 = new MyHandler("h2");MyHandler h3 = new MyHandler("h3");h1.setHandler(h2);h2.setHandler(h3);h1.operator();}}interface Handler{public void operator();}abstract class AbstractHandler{private Handler handler;public Handler getHandler(){return handler;}public void setHandler(Handler handler){this.handler = handler;}}class MyHandler extends AbstractHandler implements Handler{    private String name;    public MyHandler(String name){    this.name = name;    }@Overridepublic void operator() {      System.out.println(name + "deal!");      if (getHandler() != null) getHandler().operator();}}

  链接上的请求可以是一条链,可以是一个树,还可以是一个环,模式本身不约束这个,需要我们自己去实现,同时,在一个时刻,命令只允许由一个对象传给另一个对象,而不允许传给多个对象。

——贴上自己喜欢的代码!

0 0