为其他对象提供一种代理以控制对这个对象的访问
以下为结果图:
Subject类,定义了RealSubject类和Proxy的共用接口,这样就可以在任何使用RealSubject的地方使用Proxy
RealSubject类,定义Proxy所代表的的实体类
Proxy类,保存一个引用使得代理可以访问实体,并提供与Subject的接口相同的接口,这样代理就可以用来替代实体
代码示例:
public abstract class Subject {
public abstract void Request();
}
public class RealSubject extends Subject{ @Override public void Request() { // TODO Auto-generated method stub System.out.println("真实的请求"); } }
public class Proxy extends Subject { @Override public void Request() { // TODO Auto-generated method stub new RealSubject().Request(); } }
public class test { public static void main(String[] args) { Proxy proxy = new Proxy(); proxy.Request(); } }