具体代码设计
1.定义一个接口
/**
* 创建一个共用接口
*/
public interface Subject {
public void request();
}
2.创建一个被代理的实体
/**
* 定义一个实体类,这个类将会被Proxy类代理
*/
public class RealSubject implements Subject {
@Override
public void request() {
System.out.println(this.getClass().getSimpleName() + "真实的请求");
}
}
3.创建一个代理实体
/**
* 创建一个代理类,去代理RealSubject
*/
public class Proxy implements Subject {
private RealSubject realSubject;
@Override
public void request() {
if (realSubject == null) {
realSubject = new RealSubject();
}
realSubject.request();
}
}
4.创建一个测试类
public class Test {
public static void main(String[] args) {
Proxy proxy = new Proxy();
//调用Proxy对象中方法,实际调用的是RealSubject类中的方法
proxy.request();
}
}