本文介绍了GoF中的策略模式。
模式推演
需要在气象发生变化时,更新所有的面板:
起始写法为:
这样的做法当加入新的面板时,就需要修改这个方法,针对实现编程,违背了针对接口编程的原则。
引入一对多的通知机制:
建立主题和订阅者接口,主题负责记录订阅者和通知订阅者:
1 | interface Subject{ |
OO原则:为交互对象之间的松耦合设计而努力
定义
观察者模式(Observer Pattern):定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
类图: