iOS 责任链模式

一.什么是责任链模式?

责任链模式就是为一个请求或者一个动作创建一个接收者对象的链,这条链上的每一个对象都可以去响应和处理这个请求和动作,把发送者和接收者进行解耦,在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

责任链模式.png

二.为什么要使用责任链模式?

责任链模式可以把发送者和接收者进行解耦合,发送方只需把消息发送出去即可,接收者负责对消息进行处理,在工作中,有时候我们可能会遇到这样的情况, 你出差了或者你加班了, 需要向领导发送邮件,而领导则需要向他的领导发送邮件,这样一级一级的向上汇报,直到可以给你报销费用的的领导审批之后,你才能拿到辛苦费,如果你之前和哪位领导干过架,完了,人家不给你上报,那你就惨了

三.怎么使用责任链模式?

事件响应.png

上面两个方法应该很熟悉吧,对,这就是iOS 中UIView对事件处理的响应函数,这个我们就可以看做是责任链模式的例子

下面用一个儿子买玩具举个例子:

1.创建一个基类

基类.png
基类.png

2.儿子

儿子.png
儿子.png

3.爸爸

爸爸.png
爸爸.png

4.妈妈

妈妈.png
妈妈.png

5.具体实现

具体实现.png
具体实现.png
打印.png

菜鸟教程:http://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html
脚本之家:http://www.jb51.net/article/81756.htm

其他设计模式

享元模式:http://www.jianshu.com/p/f9c53b9825e4
工厂模式:http://www.jianshu.com/p/6f3ffb1397f7
观察者模式:http://www.jianshu.com/p/a6a6e5a8e8bd

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容