核心思想
代理模式就是给某个对象提供一个代理对象,并且由代理对象控制对源对象的引用 |
源接口: 被代理对象的接口Soucable:声明了代理对象和代理者的共同接口 public interface Soucable { public void operation(); } |
原类: 被代理对象Source:定义真实的对象 public class Source implements Soucable { @Override public void operation() { // TODO Auto-generated method stub System.out.println("原始类的方法"); } } |
代理类: 代理者Proxy:内部包含对代理对象的引用,并且提供与代理对象相同的接口。 public class Proxy implements Soucable { private Soucable source; public Proxy() { // TODO Auto-generated constructor stub source=new Source(); } @Override public void operation() { // TODO Auto-generated method stub before(); source.operation(); after(); } public void before(){ System.out.println("代理前"); } public void after(){ System.out.println("代理后"); } } |
测试类: public class ProxyTest { public static void main(String[] args) { Soucable proxy=new Proxy(); proxy.operation(); } } |
结果: 代理前 原始类的方法 代理后 |