靜態代理模式學習
阿新 • • 發佈:2019-05-12
時間 str 測試類 interrupt string lee 對象 exc ati
靜態代理模式
代理模式(Proxy):為其他對象提供一種代理以控制對這個對象的訪問。代理模式說白了就是“簡單對象的 代表”,在訪問對象時引入一定程度的間接性,因為這種間接性可以附加很多用途。
// 測試類 public class ProxyPattern { public static void main(String[] args) { Action userAction = new UserAction();// 被代理對象 ActionProxy proxy = new ActionProxy(userAction);// 代理對象 proxy.doAction(); } } // 定義接口 interface Action { public void doAction(); } // 用戶的動作,現在我想計算一下員工一共工作了多長時間 class UserAction implements Action { @Override public void doAction() { System.out.println("員工開始工作。。"); } } // 增加動作代理類,實現業務接口 class ActionProxy implements Action { private Action target;// 被代理的對象 public ActionProxy(Action target) { this.target = target; } // 執行操作 @Override public void doAction() { long start = System.currentTimeMillis(); try {// 讓線程停一會 Thread.sleep(2000); target.doAction();// 執行真正的業務 } catch (InterruptedException e) { e.printStackTrace(); } long end = System.currentTimeMillis(); System.out.println("一共工作了" + (end - start) + "毫秒"); } }
靜態代理模式學習