这三个模式的理解是层层递进的关系。
一、我们常用监听回调,那里需要就在那里设置,如:
view.setOnClickListener();
二、但我们有时候希望我们的监听在使用它的地方都能有回调,不想用的时候可以移除调监听,如:
view.addOnObserverListener();
view.removeOnObserverListener();
这时候就要使用事件监听模式了。
Java的事件监听机制可概括为3点:
1.Java的事件监听机制涉及到事件源,事件监听器,事件对象三个组件,监听器一般是接口,用来约定调用方式。
2.当事件源对象上发生操作时,它将会调用事件监听器的一个方法,并在调用该方法时传递事件对象过去。
3.事件监听器实现类,通常是由开发人员编写,开发人员通过事件对象拿到事件源,从而对事件源上的操作进行处理。
三、观察者模式
什么是观察者模式
观察者模式其实原理和监听器是一样的,使用的关键在搞清楚什么是观察者、什么是被观察者。
观察者(Observer)相当于事件监器。有个微博模型比较好理解,A用户关注B用户,则A是B的观察者,B是一个被观察者,一旦B发表任何言论,A便可以获得。
被观察者(Observable)相当于事件源和事件,执行事件源通知逻辑时,将会回调observer的回调方法update。