责任链模式使用
责任链模式的重点在“链上”,由一条链去处理相似的请求,在链中决定谁来处理这个请求,并返回相应的结果。
角色:
抽象处理者(Handler)角色:该角色对请求进行抽象,并定义一个方法来设定和返回对下一个处理者的引用。
具体处理者(Concrete Handler):该角色接到请求后,可以选择将请求处理掉,或者将请求传给下一个处理者。由于具体处理者持有对下一个处理者的引用,因此,如果需要,处理者可以访问下一个处理者。
优点 责任链模式将请求和处理分开,请求者不知道是谁处理的,处理者可以不用知道请求的全貌。 提高系统的灵活性。
缺点 降低程序的性能。每个请求都是从链头遍历到链尾,当链比较长的时候,性能会大幅下降。 不易于调试。由于该模式采用了类似递归的方式,调试的时候逻辑比较复杂。
……