有点类似于数据结构中链表操作
abstract class Handler{
private Handler nextHandler;
public Handler setNextHandler(Handler handler){//便于链式点点
this.nextHandler = handler;
return this.nextHandler;
}
public void execute(){
this.Service();//职责代码
if(nextHandler!=null){//职责链最后都是null
nextHandler.execute();//
}
}
abstract public void Service();
}
class InitHandler extends Handler{
@Override
public void Service() {
// TODO Auto-generated method stub
System.err.println("初始化");
}
}
class DataHandler extends Handler{
@Override
public void Service() {
// TODO Auto-generated method stub
System.err.println("数据准备");
}
}
class DestroyHandler extends Handler{
@Override
public void Service() {
// TODO Auto-generated method stub
System.err.println("销毁操作");
}
}
public class Test {
public static void main(String[] args) {
InitHandler i = new InitHandler();
i.setNextHandler(new DataHandler()).setNextHandler(new DestroyHandler());
i.execute();
}
}