1. 程式人生 > 其它 >設計模式之靜態代理模式

設計模式之靜態代理模式

/**

靜態代理模式:未其它物件提供一種代理以控制對這個物件的訪問。

代理模式說白了就是“真實物件”的代表,在訪問物件時引入一定程度的間接性,因為這種間接性可以附加多種用途。

*/

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 class
Proxy { public static void main(String[] args) { UserAction userAction = new UserAction(); ActionProxy actionProxy = new ActionProxy(userAction); actionProxy.doAction(); } }