步骤一:建立抽象处理者(Handler)角色 (这里是操作与处理分开,接口定义操做方法,抽象类定义处理方法,具体可以写在一起也行)
public interface Handler { public void operator(); }
public abstract class AbstractHandler { private Handler handler; public Handler getHandler() { return handler; } public void setHandler(Handler handler) { this.handler = handler; } }
步骤二:建立具体处理者(ConcreteHandler)实现接口Handler,继承抽象类AbstractHandler
public class MyHandler extends AbstractHandler implements Handler{ private String name; public MyHandler(String name) { super(); this.name = name; } @Override public void operator() { System.out.println(name+"deal"); if(getHandler()!=null){ getHandler().operator(); } } }
步骤三:客户端测试
public class Test { 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(); } }