2.观察者模式(p39-78)

举例: 微信订阅号(主题subject或可观察者observable),观察者(observer).

观察者模式定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新.

松耦合:两个对象松耦合,他们依然可以交互,但是不太清楚彼此细节.

设计原则 : 为了交互对象之前的松耦合设计而努力.

松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的相互依赖降到了最低

  1. 具体Java内置支持
    java.util.Observable;实现类
    java.util.Observer;接口
Observable类Observer接口
addObserver()update()
deleteObserver()
notifyObserver()
setChanged()

设计工具箱

  1. 基础
    1. 抽象
    2. 继承
    3. 多态
    4. 封装
  2. 原则
    1. 封装变化
    2. 多用组合,少用继承
    3. 针对接口编程,而不是实现编程
    4. 为交互之间的松耦合设计而努力
  3. 模式
    1. 观察者模式:在对象之间定义一对多的依赖,这样依赖,当一个对象改变状态,依赖他的对象都会收到通知,并自动更新.