附:或叫監聽器模式(Listener)
定義:
定義了對象之間的一對多依賴,讓多個觀察者對象同時監聽某個主題對象,當主題對象發生變化時,它的所有依賴者(觀察者)都會 收到通知並更新
適用場景:
關聯行爲場景,建立一套觸發機制
優點
觀察者和被觀察者之間建立一個抽象的耦合
觀察者模式支持廣播通信
缺點
觀察者之間有過多的細節依賴、提高時間消耗及程序複雜度
使用要得當,要避免循環調用
示例DEMO&UML:
源碼:https://github.com/NoSuchClass/design_pattern/tree/master/src/behavioral/observer
In JDK
Observable和Observer接口