职责链模式

设计模式之职责链模式

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这个对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。
--------《大话设计模式》

就拿大话设计模式的这个例子来说
小菜实习期到了,想转正,他就向经理提出想加薪,经理无法做主就像总监提出了小菜的想法,总监也无法做主,最终向总经理提出了小菜的请求

从这个例子我们能简单的看出,职责链模式就是若无法处理某个请求,就一层一层的传递知道有个类能处理这个请求为止

管理者责任类,用来设置管理者姓名,设置管理者,帮员工完成加薪请求
在这里插入图片描述
以下是经理总经理总监类,这三个类大同小异,就是指责中处理的分类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下是申请类,有设置申请的类型,内容,数量的多少相应的方法
在这里插入图片描述
以下是测试类
在这里插入图片描述
在这里插入图片描述
我们看到结果,当加薪3300的时候大于我们设定的500,总监就会考虑
我们再设定一下400,就会按照我们的预期同意
在这里插入图片描述
一下附上我们这次代码的结构图
在这里插入图片描述
此次代码重要的是理解整个职责链模式的运作过程,中间代码还有一些瑕疵,比如没有处理若请假6天以上该由谁去解决

职责链模式的优点:接受者和发送者都没有对方的明确信息,且链中的对象自己也并不知道链的结构。结果是职责链可简化对象的相互连接,它们仅需要保持一个指向后继承者的引用,而需要保持它所有的候选接受者的引用,提高了系统的灵活性和可扩展性。
职责链模式的缺点;每次都是从链头开始,一级一级往上传递,当职责链比较长时,可能会有较严重的性能问题

若有出错,还望指正,共勉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值