1. 程式人生 > >設計模式(DesignPattern)之觀察者模式(Observable)

設計模式(DesignPattern)之觀察者模式(Observable)

1、定義

  觀察者模式的重要作用就是解耦,定義物件之間一對多的依賴關係,被依賴物件為Subject,依賴物件為Observer,Subject通知Observer更新狀態。

2、使用場景

  • 跨系統的訊息交換,如訊息佇列,事件匯流排的處理機制。
  • 事件多級觸發。
  • 關聯的行為。

3、UML類圖

4、程式碼實現

5、總結

  優點:觀察者和被觀察者之間依賴於Observer和Observable抽象,實現解耦。

  缺點:預設的觀察者是順序執行的,當一個觀察者卡頓時會影響到整體的效率,可以通過非同步回撥的方式來解決,這樣執行順序就不能保證。

Android原始碼應用:ListView更新資料,BroadcastReceiver