责任链设计模式代码
2017-01-01 17:54
183 查看
package com.lian; public abstract class Handle { //只有一个执行。 所有都执行 部分执行。自己判断 Handle nextHandle; int leve=0; //会复制给每个子类。每个子类保存一份 int i=0; /* public void execute(int leve) { //只有一个执行 i++; //每个子类都有i System.out.println("处理第"+i+"次"); //没有意义 if (leve==this.leve) { look() ; }else { if (getNextHandle()!=null) { getNextHandle().execute(leve); //递归 }else { System.out.println("没有处理者了"); } } }*/ /* public void execute(int leve) { //多个执行 i++; //每个子类都有i //System.out.println("处理第"+i+"次"); //没有意义 if (this.leve>=leve) { look() ; } if (getNextHandle()!=null) { getNextHandle().execute(leve); //递归 }else { System.out.println("没有处理者了"); } }*/ public void execute(int leve) { //所有个执行 look() ; if (getNextHandle()!=null) { getNextHandle().execute(leve); //递归 }else { System.out.println("没有处理者了"); } } public abstract void look() ; public Handle getNextHandle() { return nextHandle; } public void setNextHandle(Handle nextHandle) { this.nextHandle = nextHandle; } public int getLeve() { return leve; } public void setLeve(int leve) { this.leve = leve; } public static void main(String[] args) { Handle ks=new KsHandle(); Handle bm=new BmHandle(); Handle zj=new ZjHandle(); ks.setNextHandle(bm); bm.setNextHandle(zj); // ks.execute(4); ks.execute(2); //不管你选哪个执行 } }
package com.lian;
public class KsHandle extends Handle {
public KsHandle() {
this.leve=1;
}
@Override
public void look() {
System.out.println("科室领导审批");
}
}
package com.lian; public class ZjHandle extends Handle { public ZjHandle() { this.leve=3; } @Override public void look() { System.out.println("总经理领导审批"); } }
package com.lian; public class BmHandle extends Handle { public BmHandle() { this.leve=2; } @Override public void look() { System.out.println("部门领导审批"); } }
相关文章推荐
- emule 代码 的 无责任 分析,设计模式角度
- 设计模式精解-第三章-一个急需灵活代码的问题
- 设计模式简单代码之Flyweight模式
- 设计模式简单代码之Visitor模式
- 设计模式简单代码之State模式
- 用32行代码表示16个设计模式
- 设计模式简单代码之Mediator模式
- 设计模式简单代码之Command模式(皇帝圣旨篇)
- 设计模式简单代码之Chain Of Responsibility 模式(小孩要苹果篇)
- 设计模式简单代码之Mediator模式(一)
- 关于Singleton设计模式的计数器代码实例(拷贝粘贴即可学习)
- 23种设计模式的java代码
- 设计模式简单代码之一
- 设计模式简单代码之Template Method模式(追MM篇)
- 设计模式简单代码之Decorator模式(小孩吃饭篇)
- 23种设计模式的代码
- 设计模式简单代码之Composite模式(老师分配任务篇)
- 设计模式简单代码之prototype模式(画圆篇)
- 设计模式简单代码之Iterator模式
- 设计模式简单代码之Mediator模式(二)