意图:为其他对象提供一种代理以控制对这个对象的访问。
原理:当我们要访问一个对象时,可以通过一个中间层间接地去访问,这个中间层就叫做Proxy代理。例如一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
与适配器模式、装饰模式的区别:
1)代理模式和适配器模式的区别:适配器模式的用意是要改变所考虑的对象的接口,而代理模式并不能改变所代理对象的接口。
2)代理模式和装饰模式的区别:装饰模式应当为所装饰的对象提供增强功能,而代理模式对对象的使用施加控制,并不提供对象本身的增强功能。
代理模式从概念上来说,比单例模式还要容易理解。在此就不再详述了。