[设计模式学习笔记]职责链模式
职责链模式
- 定义
多个处理器依次处理一个请求,A处理器处理请求,然后给到B处理器处理请求,然后给到C处理器处理请求,继续往后走,直到所有处理器都执行完成。最终,一个请求依次经过了A、B、C等所有处理器的处理,每个处理器各自承担不同的处理职责。
有两种定义:
(1)如果处理器链上的某个处理器能处理这个请求,则不会继续往下传递请求。
(2)处理器链上的每个处理器都把请求处理一遍。
- 实现
先创建一个处理器的接口类,编写多个处理器的类继承自这个接口类,实现接口类中的方法。然后编写处理器链的类,在类里面添加方法做处理器添加以及执行的逻辑。最后,就是在使用时生成处理器链的类的对象,将多个处理器加入到这个对象里,最后调用对象的执行方法。
有两种实现方式:
(1)使用链表存储处理器
(2)使用数组存储处理器