观察者模式
1 认识观察者模式
(1)以报纸的订阅为例
(2)定义
观察者模式定义了一系列对象之间的一对多依赖关系。
当一个对象改变状态时,其他依赖者都会收到通知并自动更新。
(3)松耦合
观察者模式提供了一种对象设计,让主题和观察者之间松耦合。
原因:
<1>关于观察者的一切,主题只知道观察者实现了某个接口。
<2>任何时候我们都可以增加新的观察者。
<3>有新类型的观察者出现时,主题的代码不需要修改。
<4>我们可以独立的复用主题或观察者。
<5>改变两者其中一方,不影响另一方。
(4)设计原则
<1>找出程序中会变化的方面,然后将其和固定不变的方面相分离。
<2>针对接口编程,不针对实现编程。
<3>多用组合,少用继承。
2 设计类图