1 簡單介紹
代理模式中,我們使用代理對象完成用戶請求,屏蔽用戶對真實對象的訪問。當然,如果真實對象
在對象創(chuàng)建時就要加載很多東西,我們也可以通過代理對象實現(xiàn)延遲加載。
代理模式主要包含主題接口類、接口實現(xiàn)真實類(被代理類)、代理類、應用類。
2 主題接口類
public interface IDBQuery {
public String query();
}
3 真實類
public class DBQuery implements IDBQuery {
public DBQuery(){
//start db connect
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
public String query() {
return "begin query...";
}
}
4 代理類
public class DBQueryProxy implements IDBQuery {
private DBQuery dbQuery = null;
@Override
public String query() {
if(dbQuery == null){
dbQuery = new DBQuery();
}
return dbQuery.query();
}
}
5 應用Main
public class Main {
public static void main(String[] args) {
IDBQuery idbq = new DBQueryProxy();
idbq.query();
}
}
于2015-06-06