設計模式學習之代理模式之靜態代理
阿新 • • 發佈:2018-12-08
設計模式學習之代理模式之靜態代理
前言
- 最近發現設計模式都忘記的七七八八了,打算一邊寫一下部落格,一邊溫習一下設計模式,這裡因為最近寫了一下框架,模擬一下mybatis的代理方式
程式碼
- 介面
package com.proxy.staticProxy;
public interface DataDao {
void getData();
}
- 介面實現
package com.proxy.staticProxy; public class DataDaoImpl implements DataDao { @Override public void getData() { System.out.println("從資料庫中獲取資料"); } }
- 代理類
package com.proxy.staticProxy; public class DataProxy implements DataDao{ private DataDao dataDao; public DataProxy(DataDao dataDao){ this.dataDao = dataDao; } @Override public void getData() { System.out.println("開啟資料庫..."); dataDao.getData(); System.out.println("關閉資料庫..."); } }
- main方法
package com.proxy.staticProxy;
import javax.xml.crypto.Data;
public class Main {
public static void main(String[] args){
DataDao dataDao = new DataDaoImpl();
DataDao dataDaoProxy = new DataProxy(dataDao);
dataDaoProxy.getData();
}
}
執行結果
開啟資料庫... 從資料庫中獲取資料 關閉資料庫...