【菠萝】观察者模式

243 阅读1分钟

什么是观察者模式

观察者模式就是对某一个事件的变化有自己的一套反应。比如订阅发布模式

实现观察者模式的逻辑

简单来说首先需要一个被观察者,还需要个观察者,观察者对被观察者对事件,发生反应

代码实现

image.png 定义一个被观察者

image.png 定义一个观察者接口

image.png 定义一个事件

解释

被观察者 需要定一个list来承载观察者。 观察者的根据具体实现,可以去定义自己的处理逻辑 事件主要是用来传递参数,方便观察者针对不同的事件,作出不同的判断逻辑

观察者的具体实现代码

image.png

image.png

可以看到,momObserver和dadObserver都针对事件,作出了自己不同的处理逻辑

最终观察者的处理逻辑代码

image.png 被观察者内部其实就是遍历观察者,调用对应的方法

这个观察者模式只是简单的实现,还可以根据具体情况做具体的封装处理,重要的理解他的实现逻辑