写点什么

设计模式 - 责任链模式

作者:
  • 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; }}
复制代码


用户头像

关注

还未添加个人签名 2019-08-17 加入

还未添加个人简介

评论

发布
暂无评论
设计模式-责任链模式_生_InfoQ写作社区