委托(delegate)

委托的定义:

委托(delegate),就是某个对象指定另一个对象处理某些特定任务的设计模式。

个人理解委托就类似于对象的注入,将B对象注入到A对象中,使得A对象可以通过一个引用访问到B,从而实现B的方法

委托的更加通俗的解释:

A把要做的事委托给B来做

A:委托者
B:被委托者

委托者与被委托者的叫法很多,例如(普通对象与委托对象,委托与代理等等)

比较标准的叫法是“委托与代理

协议

在委托与代理之间还有一个重要的概念———协议,协议是委托与代理之间的桥梁,把两者紧密联系在一起。

在程序中实现委托一般需要以下几部分工作

  1. 协议的定义

  2. 委托的工作

    • 声明委托变量
    • 设置代理
    • 通过委托变量调用委托方法
  3. 代理的工作

    • 遵循协议
    • 实现协议方法(其实就是遵循协议)