代理模式

代理模式是一种消息传递方式,一个完整的代理模式包括:委托对象、代理对象和协议。

代理主要由三部分组成:

  • 协议:用来指定代理双方可以做什么,必须做什么。

  • 代理:根据指定的协议,完成委托方需要实现的功能。

  • 委托:根据指定的协议,指定代理去完成什么功能。

一个人Person对象,想去买电影票(询问电影票的剩余量,票价等信息),

但是由于自己没有空,所以他只能委托一个中介(代理商Agent对象) 帮他去完成这个动作,

最后代理商可以把(询问的电影票相关信息) 回馈给Person。这就是一种典型的设计模式

代理模式通常用于解决类似这样的问题:我们通过界面A打开了界面B,但在应用进行的过程中,界面B有时候也需要和A主动联络,比如点击某个按钮时。一个比较好的办法是,让A成为B的代理,这样B就可以在需要的时候给A发送消息了。

代理模式的一个好处是,B实际上不需要了解A的任何事情,只要知道A是自己的代理就可以了。在这种模式下,B依然独立与A,实现了松耦合。

对象A是对象B的代理,对象B需要向A发送消息,设置方法分四步:

1、在对象B的.h中定义一个protocol代理协议,并声明一个协议的属性变量

2、让对象B在适当的时候向代理对象A发送消息,比如触发按钮时。

3、让对象A遵从代理协议

4、通知对象B,现在A是它的代理

https://blog.csdn.net/lee727n/article/details/106207340 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值