定义:对象之间一对多的关系,当对象改变状态时,它所依赖者都会收到通知并更新。
设计原则:为了交互对象之间的松耦合而努力。
使用情况:
1)
当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。
2)
当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。
3)
当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之, 你不希望这些对象是紧密耦合的。