zoukankan      html  css  js  c++  java
  • 代理模式用来初始化的延迟下载

    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);
    
        }
    
    }
  • 相关阅读:
    使用Dorado框架开发必备参考
    Dorado重用最佳实践
    css布局_web
    dorado学习笔记(二)
    Oracle归档日志删除
    给大家拜年啦!
    悟透JavaScript
    BCM57781网卡驱动下载地址
    win7安装jdk完后配置
    win7删除SVN保存的本地密码
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3870390.html
Copyright © 2011-2022 走看看