Java設計模式【靜態代理小案例】

目錄結構:


目標對象接口實現【UserService】:

public interface UserService {
    public void AddUser();
}

目標對象接口實現類【UserServiceImpl】:

public class UserServiceImpl implements UserService {
    @Override
    public void AddUser() {
        System.out.println("添加員工成功");
    }
}

代理對象類實現:【MyProxy】:

// 代理對象
public class MyProxy implements UserService {

    // 目標對象
    private UserService target;
    // 代理對象構造方法
    public MyProxy(UserService target) {
        this.target = target;
    }
    @Override
    public void AddUser() {
        // 代理開始
        System.out.println("靜態代理開始");
        // 執行目標方法
        target.AddUser();
        // 代理結束
        System.out.println("靜態代理結束");
    }
}

測試類:

public class MyTest {
    @Test
    public void f(){
        // 創建目標對象
        UserService target = new UserServiceImpl();
        // 創建代理對象 將目標對象作爲參數傳入
        MyProxy myProxy = new MyProxy(target);
        // 執行代理對象的方法
        myProxy.AddUser();
    }
}

執行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章