一、什么是观察者设计模式

先来看一下下面的定义:

  观察者模式(Observe Pattern)定义对象之间的一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。

自己的理解:

  除了上面描述的定义,观察者设计模式还可以用于一个流程的数据获取,或者一系列数据的校验,下面我们来举几个例子。

二、场景一

场景描述:有一个数据校验的需求,需要分别从MySQL、Redis、Kafka、数据文件中获取数据进行校验,各类校验逻辑处理不同。

首先,我们来定义一个抽象观察者的接口

public interface IObserver {

  void check();
}

接下来我们来定义具体的观察者,即:MySQL、Redis、Kafka、数据文件等各类校验

设计模式之 ==> 观察者计模式

public class MysqlCheckObserver implements IObserver {

  @Override
  public void check() {
    System.out.println("Mysql check...");
  }
}

MysqlCheckObserver