代理模式(Proxy):为其余对象提供一种代理以控制对这个对象的访问。java
代理模式说白了就是“真是对象”的表明,在访问对象时引用必定程度的间接性,由于这种间接性能够附加多种用途。设计模式
package com.main; //静态代理设计模式 public class StaticProxy { public static void main(String[] args) { Customer customer = new Customer(); Proxy proxy = new Proxy(customer); proxy.shopping(); } } // 主题。被代理人接口(被代理的业务) interface Subject { public void shopping(); } // 被代理人 class Customer implements Subject { private String name; @Override public void shopping() { // 在买房子以前要货比三家,作些准备工做,利用代理模式来实现 System.out.println("准备买一套房子"); } } // 代理人 class Proxy implements Subject { private Subject target;// 被代理人 public Proxy(Subject target) { this.target = target; } // 实现接口的方法 @Override public void shopping() { // 代理以前要作的事情 System.out.println("代理以前要作的事情:选择一套符合要求的房子"); target.shopping();// 被代理人真正的业务 // 代理以后要作的事情 System.out.println("代理以后要作的事情:付款交接,客户反馈"); } }