大话设计模式之代理模式
代理模式是为了隐藏真实对象,为其提供一种代理以控制对这个对象的访问。
UML类图:
公用接口Subject类:
1 /** 2 * 定义共有接口 3 */ 4 public interface Subject { 5 6 void resquest(); 7 }
真实对象RealSubject类:
1 /** 2 * 真实实现 3 */ 4 public class RealSubject implements Subject{ 5 @Override 6 public void resquest() { 7 System.out.println("真实的实现"); 8 } 9 }
代理类Proxy:
1 public class Proxy implements Subject{ 2 private RealSubject realSubject; 3 4 public Proxy() { 5 this.realSubject = new RealSubject(); 6 } 7 8 @Override 9 public void resquest() { 10 realSubject.resquest(); 11 } 12 }
测试类:
1 public class Main { 2 3 public static void main(String[] args) { 4 Proxy proxy = new Proxy(); 5 proxy.resquest(); 6 } 7 }
代理模式的应用场景:远程调用