概念:觀察者模式定義了一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知并自動更新。
舉個網上商城的例子,比如很多顧客對某個商品感興趣,把商品收藏,當該商品降價、促銷、有貨了等事件發生時,就會發Email通知顧客。
UML圖如下:
ItemObserver的代碼如下:



Customer代碼如下:






























































ItemObservable代碼如下:







Item代碼如下:



































另外:Java的util包提供了Observer接口和Observable接口支持這個模式。