代理模式是为了隐藏真实对象,为其提供一种代理以控制对这个对象的访问。
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 }
代理模式的应用场景:远程调用