代理设计模式原理:使用一个代理将对象包装起来,然后用该代理对象取代原始对象,任何对原始对象的调用都要通过代理,代理对象决定是否以及何时将方法调用转到原始对象.
静态代理:代理类与被代理类实现同样的接口.在代理类中生成接口类型的成员变量,在有参构造器中,将被代理类的对象作为实参传递进去,调用代理类重写的接口方法时,相当于也调用了被代理类的重写方法.
动态代理:代理类实现InvocationHandler接口,并重写其invoke()方法,将被代理类对象实例化,然后通过Proxy.newProxyInstance(......)方法创建代理类对象.
|
|