OC_protocol协议介绍(2)

1 protocol代理设计模式引入

代理模式在OC中经常遇到的一种设计模式,那什么叫做代理模式呢?举个例子:有一个婴儿,本身不会吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情,而保姆是这个代理人,即:婴儿和保姆之间有个协议,保姆遵守该协议,于是保姆就需要实现该协议中的条款称为代理人。

2 protocol代理设计模式概念

传入的对象,代替当前类完成了某个功能,称为代理模式
利用协议实现代理模式的主要思路:
1): 定义一个协议,里面声明代理类需要实现的方法列表,比如上面情景中代理类需要实现feedBaby和HongSleep方法
2): 创建一个代理类(比如BaoMu) 遵守上面的代理协议
3):在需要代理的类中(Baby),定义一个对象 , 类型为id , 并且遵守代理协议的成员变量delegate
4): 在Baby类中中调用成员变量delegate的方法,调用代理类的方法
5): 使用Baby类的文件中,为Baby类的成员变量赋值。

3 protocol代理模式应用场合

代理设计模式的场合:
*当对象A发生了一些行为,想告知对象B                                   (让对象B成为对象A的代理对象)                  
  -----------------> 监听器的场合
*对象B想监听对象A的一些行为                                                  (让对象B成为对象A的代理对象)                    
-----------------> 通知的场合
*当对象A无法处理某些行为的时候,想让对象B帮忙处理       (让对象B成为对象A的代理对象)              
      -----------------> 有些事情自己不想处理,交给别人处理




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值