package com.cheng.zenofdesignpatterns.patterns.observer.common; import java.util.Vector; /** * 被观察者 */ public abstract class Subject { // 定义个一个观察者数组 private Vector<CommonObserver> obsVector = new Vector<CommonObserver>(); // 增加一个观察者 public void addObserver(CommonObserver o){ this.obsVector.add(o); } // 删除一个观察者 public void delObserver(CommonObserver o){ this.obsVector.remove(o); } // 通知所有观察者 public void notifyObserver(){ for(CommonObserver o:this.obsVector){ o.update(); } } /** * 定义被观察者必须实现的职责,它必须能够动态地增加、取消观察者。它一般是抽象类或者 * 是实现类,仅仅完成作为被观察者必须实现的职责:管理观察者并通知观察者 */ }