责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
二、示例
优点:解耦了请求发送者和N个接受者之间的复杂关系。 弊端:不能保证某个请求一定会被链中的节点处理。
三、示例:文件上传对象
示例2:用责任链模式获取文件上传对象 PS:对比《学习JavaScript设计模式之迭代器模式》
无论是作用域链、原型链、还是DOM节点中的事件冒泡,我们都能从中找到职责链的影子。