设计模式之静态代理模式

/**

静态代理模式:未其它对象提供一种代理以控制对这个对象的访问。

代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。

*/

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();
    }
}

 

posted @ 2022-06-01 11:15  曹伟666  阅读(22)  评论(0)    收藏  举报