什么是责任链模式?
官方:使多个对象有机会处理请求,从而避免请求的发送者和接受者发生耦合。此模式将对象连成一条链,并沿着连发送请求,直到有一个对象处理它为止。
个人理解:小伙伴们站成一排,老师一个一个的问:谁是第一个上的。都说不是自己,直到天一勇敢的承认。在这个过程中前几个小伙伴都没有承认,这样老师的问题就被传递下去,直到有人响应,当时老师也并不知道谁是第一个。但是每个对象都知道谁是第一个只是都没有响应。
什么时候使用责任链模式?
1.有多个对象可以处理请求,但是只能在运行时确定哪个对象处理。
2.向一组对象发送请求,不想显示表明哪个对象处理。
举例:
https://github.com/y279336671/DesignPatternsForObjective-C/tree/master/ChainOfResponsibility