应用场景:
安全代理:控制对原对象的访问权限
注: 之所以把权限控制放在"代理类"中,而不是放在原对象中,主要依据"单一性原则".
远程代理:网络通讯时,将加密,解密,打包,解包这些操作一起封装在"代理对象"使得客户端
调用时,就像是在访问本地数据.
eg: WebService的工作原理
虚拟代理:当存在实例化需要很长时间的成员对象时,当需要调用到与该对象相关的方法时才
声明该对象,并实例化.
智能指引:未使用过
基本特点: 代理拥有实际执行者的实例,代理的每一个函数,直接调用实际执行者对应的函数.
一、普通代理:
(安全代理)
1.原始接口