首页 > 代码库 > 代理模式

代理模式

首先代理的类和被代理的类要实现共同的接口其实也就是通过接口进行代理,然后在代理类的构造函数中创建被代理类的实例就可以实现代理了。

这样可能很乱看代码就知道明白了!

公共接口类

package com.iss.proxy;


public interface Object {
void action();
}

被代理类

package com.iss.proxy;


public class ObjectImpl implements Object {


@Override
public void action() {


System.out.println("===");
System.out.println("===");
System.out.println("这是被代理的类");
System.out.println("===");
System.out.println("===");

}


}


代理类

package com.iss.proxy;


public class ProxyObject implements Object {
Object object;


public ProxyObject() {
System.out.println("这是代理类");
object = new ObjectImpl();
}


public void action() {


System.out.println("代理开始");
object.action();
System.out.println("代理结束");
}


}

测试类

package com.iss.proxy;


public class TestProxy {
public static void main(String[] args) {


Object object = new ProxyObject();
object.action();
}


}

输出结果

这是代理类
代理开始
===
===
这是被代理的类
===
===
代理结束

代理模式的作用:

由上面输出结果可以看出

通过代理类,我们可以在调用被代理类之前或之后执行一些相关操作。 

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。