在Android開發中,觀察者模式通常用于實現組件之間的解耦,實現事件的訂閱和通知機制。以下是在Android中應用觀察者模式的一般步驟:
Observer
接口。public interface Observer {
void update();
}
Subject
接口。public interface Subject {
void attach(Observer observer);
void detach(Observer observer);
void notifyObservers();
}
Subject
接口,并在內部維護一個觀察者列表,用于添加、移除和通知觀察者。public class ConcreteSubject implements Subject {
private List<Observer> observers = new ArrayList<>();
@Override
public void attach(Observer observer) {
observers.add(observer);
}
@Override
public void detach(Observer observer) {
observers.remove(observer);
}
@Override
public void notifyObservers() {
for (Observer observer : observers) {
observer.update();
}
}
}
Observer
接口,并在update()
方法中定義觀察者接收到通知后的處理邏輯。public class ConcreteObserver implements Observer {
@Override
public void update() {
// 處理收到通知后的邏輯
}
}
ConcreteSubject subject = new ConcreteSubject();
ConcreteObserver observer = new ConcreteObserver();
subject.attach(observer);
subject.notifyObservers();
通過以上步驟,就可以在Android中應用觀察者模式來實現組件之間的解耦和事件的訂閱與通知。