代理模式用来初始化的延迟下载
生活随笔
收集整理的這篇文章主要介紹了
代理模式用来初始化的延迟下载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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();}//非常耗時的操作
}@Overridepublic String request() {// TODO Auto-generated method stubreturn "ans";}}
class DBQueryProxy implements IDBQery
{private IDBQery real=null; //被代理的對象
@Overridepublic String request() {// TODO Auto-generated method stubif(real==null) real=new DBQuery();return real.request();}}public class 代理 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubIDBQery proxy=new DBQueryProxy();//創建代理類;不初始化被代理的對象,而是延遲到真正用到這個類的時候String ans=proxy.request();System.out.println(ans);}}
?
轉載于:https://www.cnblogs.com/hansongjiang/p/3870390.html
總結
以上是生活随笔為你收集整理的代理模式用来初始化的延迟下载的全部內容,希望文章能夠幫你解決所遇到的問題。