代理模式(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("代理以後要作的事情:付款交接,客戶反饋"); } }