• 代理模式用来初始化的延迟下载


    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);
    
        }
    
    }
  • 相关阅读:
    docker参数--restart=always的作用
    docker参数expose使用
    Linux主机添加路由和端口转发
    docker自动开启端口转发功能
    【Tips】【UE】总结自己常用的UltraEdit使用技巧
    浅谈I2C总线
    I2C总线简介(很经典)
    ECN
    视频编码未来简史
    爬虫与反爬虫
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3870390.html
Copyright © 2020-2023  润新知