现在上班真的很麻烦,天天早上做公交车上班,人非常的多,都上不了车,等上车后,每到站,列车员就报站,然后乘客就有不同的动作,有人急忙下车,有人继续悠闲的看着报纸。这里体现了一个显示的观察者模式,列车员,乘客分别代表了二种不同的。
GOF定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新
角色描述:
Subject:抽象的目标角色
Observer:抽象的观察者角色
ConcreteSubject:具体的目标角色
ConcreteObserver:具体的观察者角色
实用性:
当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之, 你不希望这些对象是紧密耦合的。