观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
在赤壁之战的烽火台系统中,我们可以清晰地看到观察者模式的影子:
- 烽火台就是被观察的主题(Subject)
- 各个军事单位(如周瑜、诸葛亮的指挥部)就是观察者(Observer)
- 烽火的点燃就是状态的改变
- 烟雾信号的传递就是通知机制
让我们用一个类图来理解观察者模式的结构:
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
在赤壁之战的烽火台系统中,我们可以清晰地看到观察者模式的影子:
让我们用一个类图来理解观察者模式的结构: