代理模式:为另一个对象提供一个替身以控制对这个对象的访问。
代理可以实现控制访问,比如远程代理(java.rmi.*)控制访问远程对象;虚拟代理控制访问创建开销大的资源;保护代理基于权限控制访问资源。代理类实现信息预处理,过滤等功能,再调用委托类的对象的方法。
代理可以分成静态代理和动态代理。静态代理类在编写程序时创建,动态代理类在程序运行时创建。动态代理类通过反射机制创建。
类图如下:
代理模式:为另一个对象提供一个替身以控制对这个对象的访问。
代理可以实现控制访问,比如远程代理(java.rmi.*)控制访问远程对象;虚拟代理控制访问创建开销大的资源;保护代理基于权限控制访问资源。代理类实现信息预处理,过滤等功能,再调用委托类的对象的方法。
代理可以分成静态代理和动态代理。静态代理类在编写程序时创建,动态代理类在程序运行时创建。动态代理类通过反射机制创建。
类图如下: