1. 粘贴攻略
2. 造火箭攻略
3. 拧螺丝攻略
3.1 责任链管理类
public class ChainManager implements IBaseTask{
List<IBaseTask> taskList = new ArrayList<>();
private int index;
public void addTask(IBaseTask iBaseTask){
taskList.add(iBaseTask);
}
@Override
public void doAction(String isTask, IBaseTask iBaseTask) {
IBaseTask current = taskList.get(index);
index++;
current.doAction(isTask,iBaseTask);
}
}
3.2 责任处理类
public class MouthTask implements IBaseTask{
private static final String TAG = "MouthTask";
@Override
public void doAction(String isTask, IBaseTask iBaseTask) {
if (TAG.equals(isTask)){
System.out.println(TAG);
}else {
iBaseTask.doAction(isTask,iBaseTask);
}
}
}
public class HandTask implements IBaseTask{
private static final String TAG = "HandTask";
@Override
public void doAction(String isTask, IBaseTask iBaseTask) {
if (TAG.equals(isTask)){
System.out.println(TAG);
}else {
iBaseTask.doAction(isTask,iBaseTask);
}
}
}
public class FootTask implements IBaseTask{
private static final String TAG = "FootTask";
@Override
public void doAction(String isTask, IBaseTask iBaseTask) {
if (TAG.equals(isTask)){
System.out.println(TAG);
}else {
iBaseTask.doAction(isTask,iBaseTask);
}
}
}
3.3 调用
ChainManager chainManager = new ChainManager()
chainManager.addTask(new MouthTask())
chainManager.addTask(new HandTask())
chainManager.addTask(new FootTask())
chainManager.doAction("MouthTask",chainManager)
4. 复制攻略