1 前言
觀察者模式也叫做發布-訂閱模式。如它的別名暗示的那樣,它很像雜志的訂閱。當從雜志發行商訂閱雜志的時候,讀者把名字和郵寄地址提供給發行商,這樣新的一期就能送到讀者手上。發行商保證正確的雜志送到正確的地址。一般來說,讀者不會受到他沒有訂閱的雜志。這正是觀察者模式的工作方式。
2 詳述
2.1 簡述
觀察者通過通知器(發行商)把自己注冊到(訂閱)特定的通知(雜志)。當有通知的時候,觀察者只從通知器得到它訂閱的通知。
定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,依賴於它的對象都得到通知並被自動更新。
2.2 何時使用
(1)有兩種抽象類型相互依賴。將他們封裝在各自的對象中,就可以對他們單獨進行改變和復用。
(2)對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變。
(3)一個對象必須通知其他對象,而它又不需要知道其他對象是什麼。
2.3 Cocoa Touch框架中使用
通知和鍵值觀察(Key-Value Observing)。
3 結語
以上是所有內容,希望對大家有所幫助。