设计模式:责任链(chain of responsibility) in java
定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。
责任链由2个角色组成:
Handler抽象处理者角色
它定义了一个处理请求的接口。当然对于链子的不同实现,也可以在这个角色中实现后继链。
Concrete Handler具体处理者角色
实现抽象角色中定义的接口,并处理它所负责的请求。如果不能处理则访问它的后继者。
比如Filter就类似这种,每个Filter都对请求进行处理,如果解决不了,则交给下一个进行处理。