标签:
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); } }
标签:
原文地址:http://www.cnblogs.com/hansongjiang/p/3870390.html