對話:關於委托的進一步討論
問:不懂得什麼是委托
答:就是一個類調用另一個類的方法成員
問:為什麼要用委托呢?直接調用不就好了?
答:當一個方法是多個類的公共方法的時候,往往就可以考慮使用委托
問:噢,有什麼好處嗎?統一到一個地方?然後修改方便?
答:形式統一,實現自便,比如事件源,他隻知道當事件發生後要處理,但他不知道要如何處理,也不知道要誰來處理,這時就使用委托,相當於我要告你誹謗,但我不知道司法程序,這件事我就委托給律師幫我實現
問:那不是調用律師類的方法嗎?
答:對呀,就是一個類調用另一個類的實現方法
問:然後可能有很多人要找律師?
答:不能這麼理解,應該是我可以隨便找個律師幫我處理,是一對多,而不是多對一,一對多是指設計期,而一對一的實現過程是在運行期
問:那麼我要處理的這個方法就是 delegate?
答:對
問:它有什麼好處?
答:它把調用和實現分離開來,簡單地說,就是我準備好所有的相關材料,到時任何一個律師都可以按指定材料進行相關處理,而不需要依賴於某一個律師,再深一點說,就是降低類間的耦合
轉:https://blog.sina.com.cn/s/blog_4ed18f290100kaim.html
最後更新:2017-04-02 22:16:12