什么是代理模式.
- 传入的对象,代替当前类完成了某个功能,称为代理模式.
利用协议实现代理模式的主要思路
定义1个协议.里面声明代理类需要实现的方法列表. 比如这里的1个代理类需要实现载人的方法.
创建1个代理类 遵守上面的代理协议 并实现方法
- 在需要代理的类中,定义1个对象属性 类型为id 且遵守代理协议的属性.
- 在代理的类中,调用代理对象的方法.
代理模式:
- 有1个对象中有1个属性, 这个属性的可以是任意的对象,但是这个对象必须具有指定的行为.
这个时候就可以使用协议.
- 将行为定义在代理之中.
- 对象的属性的类型 id<协议>
- 只要遵守了这个协议的对象都可以作为这个类的代理.
代理设计模式的场合
- 当对象A发生了一些事情,想告知对象B 让对象B称为对象A的代理.
- 对象B想监听对象A的一些行为. 让B称为A的代理,
- 当对象A无法处理某些场景的时候,想让对象B帮忙处理.
代理设计模式的应用场景
重点内容
A对象有1个属性是B对象 要求B对象必须有指定的方法 因为我会调用.