1、什么是代理模式
代理模式相当为一种对象或者类提供一个中间的访问者,如果一个用户不想访问或者不能直接引用某个对象。那么代理就会为我们做很多处理。
2、代理对象所需的角色:
接口: 代理模式是实现了JAVA中的多态。
下面我用JAVA为大家进行比较详细的介绍:
package cn.proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;import java.lang.reflect.Proxy;//1:实现代理执行句柄
public class Myproxy implements InvocationHandler { // 2、必须要实现invoke方法,只要是执行代理类上的任意方法(不包含getClass) // 就会先执行这个方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object returnValue = null; returnValue = method.invoke(src, args); return returnValue; }// 3、声明被代理的对象
private Object src;// 4、在构造器方法里面接收这个对象
public Myproxy(Object object) { this.src = object; }// 5、开发一个静态的方法返回这个被代理的对象的代理
public static Object getMyproxy(Object object) { // 6、创建代理对象参数:Myproxy.class.getClassLoader(),类装载器装载机的代理类。
object.getClass()类的接口。多态
代理的对象必须实现 InvocationHandler这个接口的方法
Object proxyobj = Proxy.newProxyInstance(
Myproxy.class.getClassLoader(), object.getClass() .getInterfaces(), new Myproxy(object));return proxyobj;
}
}看到上面的代码相信大家也多多少少明白些。实现动态代理应该实现接口。