代理模式:
定义:
1,分析需求,看实现需求需要哪些行为,
2,定义协议:把这些行为声明在协议中。
3,定义需求类,在类中定义一个id属性,让这个id属性去遵守这个协议。(限定这个id指向的对象类习惯)
4,定义一个实现需求的方法名在类中。
5,在类的实现里去实现这个需求。
6,在这个方法的具体实现中调用id属性去动态调用对象的方法,去实现具体需求
使用:
1,让一个类去遵守这个协议。
2,同时实现这个协议里的所有方法。
3,创建这个类的对象,以及需求类的对象,赋值给需求类的id指针。
4,让需求类的对象调用自己实现需求的方法
引用场景:
1,找代理对象去帮我们做事情
2,当一个对象a希望在做某些事情的时候。告诉另一个对象b,可以让b成为a代理
3,当一个对象b希望另一个人对想a在完成某些事情的时候,自己家能知道,可以让b成为a的代理 |
|