我正在閱讀可可基礎知識 - >設計模式 - >Observer - >使用和限制。它提到了「從代表團顯著差異」,混淆我:授權和通知之間的重大差異
但接收通知的對象可以反應在事件發生之後。這是來自代表團的顯着差異。委託人有機會拒絕或修改委託對象提出的操作。另一方面,觀察對象不能直接影響即將進行的操作。
特別是委託人有機會拒絕或修改操作,而觀察對象不能。
我正在閱讀可可基礎知識 - >設計模式 - >Observer - >使用和限制。它提到了「從代表團顯著差異」,混淆我:授權和通知之間的重大差異
但接收通知的對象可以反應在事件發生之後。這是來自代表團的顯着差異。委託人有機會拒絕或修改委託對象提出的操作。另一方面,觀察對象不能直接影響即將進行的操作。
特別是委託人有機會拒絕或修改操作,而觀察對象不能。
代表團意味着另一個對象被調用來執行給定的任務,所以自然有機會影響該任務的結果。這就像你的朋友要求你今晚買2張電影票 - 你有發言權去哪裏,看什麼電影,甚至可能會建議邀請更多的朋友或去音樂會。
通知僅在之後發生任務已執行,因此通知的對象不能再更改該事件。這就像你的朋友說的:「我今晚8點在宮殿電影院有2張阿凡達的門票,你願意來嗎?」。
@Péter的回答是絕對正確的。我想補充一點信息:
(void)
以外的其他值。通知方法不能返回任何對象,因爲它們沒有對象返回到。本地(未分發)通知立即發送。引用:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/ – 2010-03-01 01:01:19
@彼得謝謝,我以前從未注意到! – 2010-03-01 04:18:09
Matt Gallagher寫到5 approaches to listening and observing這可能會給出另一種觀點。
你的問題是什麼? – CajunLuke 2010-02-28 21:04:40
嗨CajunLuke: 我的問題是什麼意思,委派有機會拒絕或修改操作,而觀察對象不能直接影響即將發生的操作。 – 2010-02-28 21:13:59