责任链模式在Android中的应用莫过于事件分发了,ViewGroup对事件分别给子View,从ViewTree的顶部至上而下地进行处理,直到事件被消化为止,这种方法在Android广播中也能看到
责任链模式的实现分为以下几个部分
请求者
1 | public class Request { |
这里的object在实际开发当中我们可以换成其他自定义的对象,如Android中的Message和Handler那样
抽象处理者
1 | public abstract class AbstractHandler { |
处理者
- 处理者1
1 | public class Handler1 extends AbstractHandler { |
- 处理者2
1 | public class Handler2 extends AbstractHandler { |
使用
1 | public class Main { |
这样处理事件就会沿着责任链一个个下去,直到被处理者处理或没有处理者为止