核心思想
代理模式就是給某個對象提供一個代理對象,並且由代理對象控制對源對象的引用 |
源接口: 被代理對象的接口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(); } } |
結果: 代理前 原始類的方法 代理後 |