阅读量:1
在Java中,使用监听者模式(Observer Pattern)需要以下步骤:
- 创建一个被观察者接口(Subject),并定义添加、删除和通知观察者的方法。
public interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(); }
- 创建一个观察者接口(Observer),并定义接收被观察者通知的方法。
public interface Observer { void update(); }
- 创建一个具体的被观察者类(具体主题),实现被观察者接口,维护一个观察者列表,并在需要时通知观察者。
import java.util.ArrayList; import java.util.List; public class ConcreteSubject implements Subject { private List<Observer> observers = new ArrayList<>(); @Override public void registerObserver(Observer observer) { observers.add(observer); } @Override public void removeObserver(Observer observer) { observers.remove(observer); } @Override public void notifyObservers() { for (Observer observer : observers) { observer.update(); } } // 其他业务逻辑... }
- 创建一个具体的观察者类,实现观察者接口,并在被观察者通知时执行相应的操作。
public class ConcreteObserver implements Observer { @Override public void update() { // 执行观察者需要执行的操作 } }
- 创建客户端类,用来测试观察者模式。
public class Client { public static void main(String[] args) { ConcreteSubject subject = new ConcreteSubject(); ConcreteObserver observer1 = new ConcreteObserver(); ConcreteObserver observer2 = new ConcreteObserver(); subject.registerObserver(observer1); subject.registerObserver(observer2); subject.notifyObservers(); } }
以上就是在Java中使用监听者模式的基本步骤。通过这种方式,被观察者和观察者之间的耦合性大大降低,使得系统更加灵活和可扩展。