责任链模式(附代码实现)

目的:责任链模式可以让处理器按以下方式处理:如果需要则处理请求,否则将请求传递给下一个处理器,直到发现了能正确处理这个请求的处理器。

实现:
Client(客户端):它的职责是实例化一个处理器的链,然后在第一个对象中调用handleRequest方法。
Handle(处理器):这是一个抽象类,提供给所有实际处理器进行继承。它拥有一个handleRequest方法,用来接收需要处理的请求。
ConcreteHandler(具体处理器):这是一个实现了handleRequest方法的具体类。每一个具体处理器都维持一个引用,指向链中下一个具体处理器

Handle(处理器)抽象类代码:

abstract public class Handler {
   
    protected Handler successor;

    //设置下一个处理器
    public void setSuccessor(Handler successor) {
   
        this.successor = successor;
    }
    
    //处理请求方法
    abstract public void handleRequest(Car car);
}

具体处理器代码:
ConcreteHandler_1代码:

public class ConcreteHandler_1 extends Handler {
   
    public ConcreteHandler_1() {
   
        //维持ConcreteHandler_2的引用
        setSuccessor(new ConcreteHandler_2());
    }

    @Override
    public void handleRequest
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值