设计模式 - 责任链模式
作者:生
- 2023-11-11 上海
本文字数:768 字
阅读完需:约 3 分钟
//////////////////////////////////////////////////////////////////////
责任链模式
//////////////////////////////////////////////////////////////////////
package desginPattern;
import java.util.ArrayList;
import java.util.List;
interface IHandler {
boolean doHandle();
}
/**
* 责任链模式
*/
public class ChainOfResponsibility {
public static void main(String[] args) {
new HandleChain()
.addHandle(new HandleA())
.addHandle(new HandleB())
.addHandle(new HandleC())
.handle();
}
}
class HandleChain {
private List<IHandler> handles = new ArrayList<>();
public HandleChain addHandle(IHandler handle) {
handles.add(handle);
return this;
}
public void handle() {
for (IHandler handle : handles) {
boolean handled = handle.doHandle();
if (handled) {
break;
}
}
}
}
class HandleA implements IHandler {
@Override
public boolean doHandle() {
boolean handled = false;
System.out.println("执行 HandleA 。");
return handled;
}
}
class HandleB implements IHandler {
@Override
public boolean doHandle() {
boolean handled = true;
System.out.println("执行 HandleB 。");
return handled;
}
}
class HandleC implements IHandler {
@Override
public boolean doHandle() {
boolean handled = true;
System.out.println("执行 HandleC 。");
return handled;
}
}
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 3
生
关注
还未添加个人签名 2019-08-17 加入
还未添加个人简介
评论