代理

代理模式可以为其他对象提供一个代理对象来实现对目标对象的访问。代理模式常用于是用比较通用和复杂的对象替代简单的指针时使用。

代理模式与适配器模式十分的相似,都可以将目标对象转换为另一种访问模式。但是代理类相较适配器类,拥有更高的权限,它甚至可以决定是否要调用目标对象的方法,或者组合目标对象的方法来解决一个功能调用。而适配器类则只是完成接口的转换功能。

读者可以在适配器类的基础上增加更高权限的处理代码来将一个适配器类改变为代理类以体会其中的区别。