0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设计模式行为型:责任链模式

冬至子 来源:码农架构 作者:小智 2023-06-06 17:33 次阅读

将请求发送者和请求接受者解耦,让请求的接受者形成链式操作,所有人都能够接受接受到请求,直到有人处理请求。

结构图

图片

角色与理解

  • 责任链模式包含如下角色
  • Handler(抽象处理者):所有具体处理者的父类,一般定义为抽象类,定义了一个统一的处理入口,以及维持了一个抽象处理者类型对象的引用,用于形成链式处理者
  • ConcreteHandler(具体处理者):继承抽象处理者,实现统一的处理入口,将自己无法处理的请求转发给下一个处理者
  • 处理链的形成是在客户端完成的,以及处理链的顺序也是客户端决定的
  • 纯的责任链模式
  • 处理者只有两种选择,要么全部处理请求,要么全部不处理,不能只处理一部分请求
  • 请求必须被处理,不存在请求最终未被处理的情况发生
  • 不纯的责任链模式
  • 可以处理部分,然后将请求转发给下一个处理者处理
  • 请求可以不被所有处理者处理

核心代码

  • 抽象处理者

图片

  • 具体处理者

图片

  • 客户端

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19170

    浏览量

    229187
  • handler
    +关注

    关注

    0

    文章

    7

    浏览量

    3027
收藏 人收藏

    评论

    相关推荐

    基于入侵行为模式的告警关联

    本文提出了一种基于入侵行为模式的告警关联方式。入侵行为模式是定义在时间基础上的一组谓词公式,其实质是通过时间限制联系在一起的入侵事件的集合。该方法在对大量告
    发表于 08-13 08:35 6次下载

    什么是菊花模式 星型模式

    什么是菊花模式 星型模式 菊花模式   菊花
    发表于 12-05 09:00 8512次阅读

    什么是责任

    责任模式行为模式的一种,它将需要触发的Handler组成一条,发送者将请求发给
    的头像 发表于 02-16 14:41 909次阅读

    责任设计模式详解

    责任模式是一种行为设计模式, 允许你将请求沿着处理者进行发送。收到请求后, 每个处理者均可对
    的头像 发表于 05-22 15:12 419次阅读
    <b class='flag-5'>责任</b><b class='flag-5'>链</b>设计<b class='flag-5'>模式</b>详解

    设计模式:备忘录设计模式

    备忘录设计模式(Memento Design Pattern)是一种行为设计模式,它的主要目的是在不破坏对象封装性的前提下,捕捉和保存一个对象的内部状态
    的头像 发表于 06-06 11:19 783次阅读

    设计模式行为:中介模式

    提供一个中介者完成对一系列操作的封装,降低对象间的系统耦合度。中介者模式又称为调停者模式
    的头像 发表于 06-06 17:42 685次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:中介<b class='flag-5'>模式</b>

    设计模式行为:备忘录模式

    备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为模式
    的头像 发表于 06-07 11:16 831次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:备忘录<b class='flag-5'>模式</b>

    设计模式行为:策略模式

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:18 639次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:策略<b class='flag-5'>模式</b>

    设计模式行为:状态模式

    在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:20 589次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:状态<b class='flag-5'>模式</b>

    设计模式行为:访问者模式

    在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。
    的头像 发表于 06-07 15:11 726次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:访问者<b class='flag-5'>模式</b>

    设计模式行为:模板方法模式

    在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。
    的头像 发表于 06-07 15:13 562次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:模板方法<b class='flag-5'>模式</b>

    设计模式行为:观察者模式

    定义对象之间的一种一对多依赖关系,使得每一个对象发生状态的变化时,其相关依赖对象皆得到通知并被自动更新,又称为发布-订阅模式、模型-视图模式、源-监听器模式或从属者模式
    的头像 发表于 06-07 16:56 651次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b><b class='flag-5'>型</b>:观察者<b class='flag-5'>模式</b>

    行为设计模式在UVM中的应用

    接下来介绍行为设计模式在UVM中的应用。
    的头像 发表于 08-09 14:01 665次阅读
    <b class='flag-5'>行为</b><b class='flag-5'>型</b>设计<b class='flag-5'>模式</b>在UVM中的应用

    设计模式责任模式概述

    设计模式是一些被反复使用的、具有普遍性的设计解决方案,它们是在特定情境下对软件设计问题的成功解决方式的总结和归纳。
    的头像 发表于 09-27 09:54 651次阅读
    设计<b class='flag-5'>模式</b>之<b class='flag-5'>责任</b><b class='flag-5'>链</b><b class='flag-5'>模式</b>概述

    还在自己实现责任?我建议你造轮子之前先看看这个开源项目

    1. 前言 设计模式在软件开发中被广泛使用。通过使用设计模式,开发人员可以更加高效地开发出高质量的软件系统,提高代码的可读性、可维护性和可扩展性。 责任
    的头像 发表于 09-20 14:38 303次阅读
    还在自己实现<b class='flag-5'>责任</b><b class='flag-5'>链</b>?我建议你造轮子之前先看看这个开源项目