heart 板


LINE

Q.委托是关注於方法的绑定和调用:这句话,可以再举两三个不同场景向度的比喻吗? 好的,为了更清晰地理解委托「关注於方法的绑定和调用」,我再举出三个不同场景的比喻 : **比喻一:电话总机转接服务** * **委托(契约):** 想像一个电话总机(委托类型),它的功能是「转接电话」。这个 总机定义了转接电话所需的资讯,例如「要转接的号码」(方法的参数)。 * **方法的绑定:** 不同的部门或员工(不同的物件)会向总机注册他们的分机号码和负 责接听的具体人员(他们各自的「接听电话」的方法)。例如,「行销部门的电话是 123, 由小明负责接听」、「客服部门的电话是 456,由小红负责接听」。这就是将具体的方法( 小明接听、小红接听)绑定到总机这个委托上。 * **委托的调用:** 当外部有一个来电,总机(调用委托的物件)根据来电者拨打的号码 (参数)来「调用」绑定到该号码的具体「接听电话」的方法。总机本身并不知道是谁在接 听,它只知道将电话转接到之前绑定到那个号码的方法上。 **在这个比喻中:** * 总机是委托。 * 各部门员工的「接听电话」是不同的方法。 * 向总机注册分机号码和对应人员是方法的绑定。 * 总机根据拨打的号码将电话转接给对应人员是委托的调用。 **比喻二:音乐播放器的播放清单** * **委托(契约):** 一个音乐播放器的播放清单(委托类型),它的功能是「播放下一 首歌曲」。这个播放清单可能定义了「播放」这个动作不需要任何额外的参数(或者需要当 前播放歌曲的资讯)。 * **方法的绑定:** 不同的音乐档案(可以视为不同的物件,虽然在这里更侧重於资料) 会将它们的「播放自身」的方法绑定到播放清单的「播放下一首歌曲」这个委托上。每个音 乐档案都有自己播放的方式。 * **委托的调用:** 当使用者点击「下一首」按钮时,播放器(调用委托的物件)会调用 播放清单上绑定的下一个音乐档案的「播放自身」的方法。播放器本身不需要知道如何播放 MP3、WAV 或其他格式的档案,它只需要触发「播放下一首歌曲」这个委托,绑定到这个委 托的音乐档案就会负责用自己的方式播放。 **在这个比喻中:** * 播放清单的「播放下一首歌曲」功能是委托。 * 不同音乐档案的「播放自身」是不同的方法。 * 将音乐档案添加到播放清单并使其准备播放是方法的绑定。 * 播放器触发播放清单播放下一首是委托的调用。 **比喻三:新闻订阅服务** * **委托(契约):** 一个新闻订阅服务(委托类型),它的功能是「发送新闻通知」。 这个服务可能定义了发送通知时需要包含的新闻内容(方法的参数)。 * **方法的绑定:** 不同的订阅者(不同的物件)会将他们接收新闻通知的方式(他们各 自的「接收通知」的方法,例如在App上显示、发送Email、发送简讯)绑定到这个新闻订阅 服务的「发送新闻通知」委托上。 * **委托的调用:** 当有新的新闻产生时,新闻订阅服务(调用委托的物件)会将新闻内 容作为参数,调用所有绑定到「发送新闻通知」委托上的「接收通知」方法。每个订阅者都 会以他们自己绑定的方式接收到新闻。 **在这个比喻中:** * 新闻订阅服务的「发送新闻通知」功能是委托。 * 不同订阅者接收通知的方式(App显示、Email、简讯)是不同的方法。 * 订阅者注册并选择接收方式是方法的绑定。 * 新闻服务发送新闻时通知所有订阅者是委托的调用。 希望这三个不同场景的比喻能帮助你更深刻地理解委托的核心概念:它提供了一种机制,让 你可以在不知道具体是哪个物件的哪个方法的情况下,将方法绑定到一个「契约」上,并在 需要时通过这个契约来调用这些绑定的方法。这带来了高度的灵活性和解耦。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.138.162.107 (台湾)
※ 文章网址: https://webptt.com/cn.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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP