设计模式——责任链模式

    xiaoxiao2021-03-26  23

    责任链(Chain of Responsibility)模式:将要处理请求的对象连成一条链,让请求沿着这条链传递,直到有一个对象处理它为止。 Handler:定义一个处理请求的接口,实现后继链; ConcreteHandler:处理它所负责的请求,保存它的后继者,如果不能处理请求,则转发给后继者; Client:向链上的具体处理者(Concretehandler)对象提交请求。 适用性: (1)有多个对象可以处理同一个请求; (2)在不明确指定接受者的情况下,向多个对象中的一个提交请求; (3)可处理一个请求的对象集合应该动态指定; 优点: (1)降低耦合度; (2)增强了给对象指派职责的灵活性; 缺点: (1)性能问题,每个请求都从链头开始,如果链比较长,性能消耗大; (2)如果链条比较长,会造成调试不方便; (3)不保证请求一定被接受。 实现: (1)可以在Handler中设置最大链条数; (2)后继者可以使用新的链接,也可以使用已有链接; (3)当业务逻辑越来越多时,责任链模式可以作为补救模式来使用;
    转载请注明原文地址: https://ju.6miu.com/read-660905.html

    最新回复(0)