靜態代理設計模式

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

}
相關文章
相關標籤/搜索