1 簡(jiǎn)單介紹
代理模式中饲鄙,我們使用代理對(duì)象完成用戶請(qǐng)求谬以,屏蔽用戶對(duì)真實(shí)對(duì)象的訪問(wèn)强饮。當(dāng)然,如果真實(shí)對(duì)象
在對(duì)象創(chuàng)建時(shí)就要加載很多東西为黎,我們也可以通過(guò)代理對(duì)象實(shí)現(xiàn)延遲加載邮丰。
代理模式主要包含主題接口類、接口實(shí)現(xiàn)真實(shí)類(被代理類)铭乾、代理類剪廉、應(yīng)用類。
2 主題接口類
public interface IDBQuery {
public String query();
}
3 真實(shí)類
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 應(yīng)用Main
public class Main {
public static void main(String[] args) {
IDBQuery idbq = new DBQueryProxy();
idbq.query();
}
}
于2015-06-06