heart 板


LINE

Q.委託是關注於方法的綁定和調用:這句話,可以再舉兩三個不同場景向度的比喻嗎? 好的,為了更清晰地理解委託「關注於方法的綁定和調用」,我再舉出三個不同場景的比喻 : **比喻一:電話總機轉接服務** * **委託(契約):** 想像一個電話總機(委託類型),它的功能是「轉接電話」。這個 總機定義了轉接電話所需的資訊,例如「要轉接的號碼」(方法的參數)。 * **方法的綁定:** 不同的部門或員工(不同的物件)會向總機註冊他們的分機號碼和負 責接聽的具體人員(他們各自的「接聽電話」的方法)。例如,「行銷部門的電話是 123, 由小明負責接聽」、「客服部門的電話是 456,由小紅負責接聽」。這就是將具體的方法( 小明接聽、小紅接聽)綁定到總機這個委託上。 * **委託的調用:** 當外部有一個來電,總機(調用委託的物件)根據來電者撥打的號碼 (參數)來「調用」綁定到該號碼的具體「接聽電話」的方法。總機本身並不知道是誰在接 聽,它只知道將電話轉接到之前綁定到那個號碼的方法上。 **在這個比喻中:** * 總機是委託。 * 各部門員工的「接聽電話」是不同的方法。 * 向總機註冊分機號碼和對應人員是方法的綁定。 * 總機根據撥打的號碼將電話轉接給對應人員是委託的調用。 **比喻二:音樂播放器的播放清單** * **委託(契約):** 一個音樂播放器的播放清單(委託類型),它的功能是「播放下一 首歌曲」。這個播放清單可能定義了「播放」這個動作不需要任何額外的參數(或者需要當 前播放歌曲的資訊)。 * **方法的綁定:** 不同的音樂檔案(可以視為不同的物件,雖然在這裡更側重於資料) 會將它們的「播放自身」的方法綁定到播放清單的「播放下一首歌曲」這個委託上。每個音 樂檔案都有自己播放的方式。 * **委託的調用:** 當使用者點擊「下一首」按鈕時,播放器(調用委託的物件)會調用 播放清單上綁定的下一個音樂檔案的「播放自身」的方法。播放器本身不需要知道如何播放 MP3、WAV 或其他格式的檔案,它只需要觸發「播放下一首歌曲」這個委託,綁定到這個委 託的音樂檔案就會負責用自己的方式播放。 **在這個比喻中:** * 播放清單的「播放下一首歌曲」功能是委託。 * 不同音樂檔案的「播放自身」是不同的方法。 * 將音樂檔案添加到播放清單並使其準備播放是方法的綁定。 * 播放器觸發播放清單播放下一首是委託的調用。 **比喻三:新聞訂閱服務** * **委託(契約):** 一個新聞訂閱服務(委託類型),它的功能是「發送新聞通知」。 這個服務可能定義了發送通知時需要包含的新聞內容(方法的參數)。 * **方法的綁定:** 不同的訂閱者(不同的物件)會將他們接收新聞通知的方式(他們各 自的「接收通知」的方法,例如在App上顯示、發送Email、發送簡訊)綁定到這個新聞訂閱 服務的「發送新聞通知」委託上。 * **委託的調用:** 當有新的新聞產生時,新聞訂閱服務(調用委託的物件)會將新聞內 容作為參數,調用所有綁定到「發送新聞通知」委託上的「接收通知」方法。每個訂閱者都 會以他們自己綁定的方式接收到新聞。 **在這個比喻中:** * 新聞訂閱服務的「發送新聞通知」功能是委託。 * 不同訂閱者接收通知的方式(App顯示、Email、簡訊)是不同的方法。 * 訂閱者註冊並選擇接收方式是方法的綁定。 * 新聞服務發送新聞時通知所有訂閱者是委託的調用。 希望這三個不同場景的比喻能幫助你更深刻地理解委託的核心概念:它提供了一種機制,讓 你可以在不知道具體是哪個物件的哪個方法的情況下,將方法綁定到一個「契約」上,並在 需要時通過這個契約來調用這些綁定的方法。這帶來了高度的靈活性和解耦。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.162.107 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/heart/M.1745894621.A.062.html







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP