6. 职责链设计模式

一. 业务场景

模拟古代妇女的三从四德 : 一个女子出去想逛街 , 出嫁前要向父亲请示 , 出家后要向丈夫请示 , 丈夫身亡 , 向儿子请示
Women借口代表女儿,妻子或母亲 , Man代表父亲,丈夫或儿子, Woman要向Man请示是否允许自己出街

这里写图片描述


public static void main(String[] args){
    Man father = new Father(); 
    Man husband = new Husband(); 
    Man son= new Son(); 
    father.setNext(husband);  // 客户端自己维护链式结构
    husband.setNext(son);
    father.handleMessage(Woman); 
}

二. 角色

  • 职责链模式定义 : 使多个对象有机会处理请求, 请求会沿着链一直传递下去,知道有类可以处理它
  • 职责链模式重在"链" , 由链上的类处理请求 , 链上的类抽象为Handler, 每个类为具体的ConcreateHandler.

(1) 抽象类Handler的handleMessage()方法(如Man的HandleMessage()),要判断是否属于自己处理, 处理不了就交给下了个具体的ConcreateHandler

(2) 抽象类Handler要定义出链的编排方法 : setNext
(3)每个ConcreateHandler要定义自己的处理级别和具体任务

  • 客户端负责链的组成

三. 优缺点

职责链模式使得请求者和矗立着解耦,客户端不用关心谁处理了请求.进行调用代码上的解耦. 也是因为此, 使得调试带来困难,且不宜制造很长的调用链

转载于:https://www.cnblogs.com/72808ljup/p/5181935.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值