設計模式之靜態代理模式
阿新 • • 發佈:2022-06-01
/**
靜態代理模式:未其它物件提供一種代理以控制對這個物件的訪問。
代理模式說白了就是“真實物件”的代表,在訪問物件時引入一定程度的間接性,因為這種間接性可以附加多種用途。
*/
class ActionProxy implements Action { private Action target; //被代理物件 public ActionProxy(Action target) { this.target = target; } @Override public void doAction() { long beginTime = System.currentTimeMillis(); target.doAction(); //執行真正的業務邏輯long endTime = System.currentTimeMillis(); System.out.println("執行花費時間:"+(endTime-beginTime)); } } interface Action { void doAction(); } class UserAction implements Action { @Override public void doAction() { System.out.println("使用者開始工作......"); } } public classProxy { public static void main(String[] args) { UserAction userAction = new UserAction(); ActionProxy actionProxy = new ActionProxy(userAction); actionProxy.doAction(); } }