首页 > 代码库 > 代理模式用来初始化的延迟下载
代理模式用来初始化的延迟下载
package 设计模式;//代理模式实现延迟加载来减小启动时间//数据库查询接口interface IDBQery{public String request();}class DBQuery implements IDBQery{ //创建一个DBQery非常耗时的,这里面我可以在需要DBQuery的时候在创建 public DBQuery() { try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }//非常耗时的操作 } @Override public String request() { // TODO Auto-generated method stub return "ans"; } }class DBQueryProxy implements IDBQery{ private IDBQery real=null; //被代理的对象 @Override public String request() { // TODO Auto-generated method stub if(real==null) real=new DBQuery(); return real.request(); } }public class 代理 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub IDBQery proxy=new DBQueryProxy();//创建代理类;不初始化被代理的对象,而是延迟到真正用到这个类的时候 String ans=proxy.request(); System.out.println(ans); }}
代理模式用来初始化的延迟下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。