为其余对象提供一种代理,以控制这个对象的访问。浏览器
其实就是两个类实现一个接口或抽象类,在A类中实例化B类的对象,那么A类的就能代理B类实现接口的方法。安全
Porxy代理类中声明了RealSubject类的实例,在须要调用他们都实现的方法时,调用RealSubject实例的方法。就实现了对RealSubject的代理。优化
调用:代理
代理模式的4大应用场景:对象
一、远程代理,为一个对象在不一样地址空间提供局部表明。blog
二、虚拟代理,根据须要建立开销很大的对象。浏览器中的图片下载,就是用这个来优化的。接口
三、安全代理,控制真实访问对象的权限。图片
四、只能引用,调用真实对象是代理能够帮咱们作额外的事情,例如记录引用次数,释放对象等。权限