public interface IDBQuery {
String request();
}
public class DBQuery implements IDBQuery {
public DBQuery() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
public String request() {
return "request string";
}
}
/**
* 代理模式用于实现延时加载,有效提升系统的启动速度
*/
public class DBQueryProxy implements IDBQuery {
private DBQuery query = null;
@Override
public String request() {
if (query==null){
query = new DBQuery();
}
return query.request();
}
public static void main(String[] args){
IDBQuery proxy = new DBQueryProxy();
String request = proxy.request();//使用时才创建真实对象
System.out.println(request);
}
}