最近在研究二十三种设计模式,今天看到了责任链模式,有篇博文里提到了击鼓传花的游戏和这个设计模式很是相似,就随手写了一些代码模拟了这个场景。废话不多说,上代码
先创建一个抽象处理者类
package com.zzy.responsibility;
public abstract class Handle {
private Handle handle;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 获取当前请求
* @return
*/
public Handle getHandle() {
return handle;
}
/**
* 设置下一个请求
* @param handle
*/
public void setHandle(Handle handle) {
this.handle = handle;
}
/**
* 处理当前请求的方法
*/
public abstract void handleRequest(long time);
}
然后是具体处理者类
package com.zzy.responsibility;
public class ConcreteHandler extends Handle {
//设置击鼓传花的时间为10秒
private final long time = 10000;
@Override
public void handleRequest