两种角色. 1.观察者. 2.被观察者
被观察这一般会持有一个观察者的列表。当某些相关事件发生之后,循环调用每个观察者触发其update行为。
至于观察者的update行为怎么实现,被观察这不关心。
这也体现了角色之前行为的解耦。他们的唯一耦合是观察者列表。
public interface ISubject {
void register(IObserver observer);
void remove(IObserver observer);
void update();
}
public class ConcreateSubject implements ISubject {
private List<IObserver>