首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设计模式第七讲-责任链模式

简介

责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系

将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。

图例

责任链-根据事情大小来决定责任向上冒泡到谁身上

场景设置

如上图-DBA某人把线上数据库删了

不好的代码实现

调用(传入事件等级):

output:

使用责任链模式

首先设置下请求对象(方便调用传参):

设置基类handler

运维组长职能类

CTO类

大boss类

调用:

output:

UML类图

总结

优点:

将请求的发送者和接受者解耦

可以简化你的对象,因为它不需要知道链的结构

通过改变链内的成员和次序,允许你动态的新增和删除责任

缺点:

对象变得多了,相应对象管理比较复杂

一个请求有可能末端都得不到处理,或者因为没有正确配置没有处理

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190117G1FSJ400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券