国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

設(shè)計(jì)模式之工廠和單例

Nosee / 2810人閱讀

摘要:工廠模式實(shí)例定義一個(gè)接口定義一個(gè)實(shí)現(xiàn)類定義一個(gè)實(shí)現(xiàn)類根據(jù)不同需求返回不同實(shí)現(xiàn)類的方法運(yùn)行結(jié)果單利模式實(shí)例懶漢式餓漢式

工廠模式實(shí)例

//定義一個(gè)接口:Vehicle

 interface Vehicle{
 void work();
}

//定義一個(gè)實(shí)現(xiàn)類:Car

 class Car implements Vehicle{
   @Override
   public void work(){
      System.out.println("I am building a Car");
    }
}

//定義一個(gè)實(shí)現(xiàn)類:Train

 class Train implements Vehicle{
    @Override
    public void work(){
        System.out.println("I am building a train");
    }
}
 public class factory{
 //根據(jù)不同需求返回不同實(shí)現(xiàn)類的方法   
     public Vehicle needs(String s){
        if(s.equals("Car")){
          return new Car();
        }else if (s.equals("Train")) {
            return new Train();
        }
        return null;
     }

     public static void main (String args[]){
         factory f =  new factory();
         Vehicle v=f.needs("Car");
         v.work();
         Vehicle v1=f.needs("Train");
         v1.work();
     }
 }

運(yùn)行結(jié)果 :
---I am building a Car
---I am building a train

單利模式實(shí)例

懶漢式

public class Singleton {  
    private static Singleton instance;  
    private Singleton (){}  
    public static synchronized Singleton getInstance() {  
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
} 

餓漢式

public class Singleton {  
private static Singleton instance = new Singleton();  
private Singleton (){}  
public static Singleton getInstance() {  
return instance;  
}  

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/70107.html

相關(guān)文章

  • js設(shè)計(jì)模式:簡(jiǎn)單工廠單例

    摘要:寫在前面一些關(guān)于自己在代碼設(shè)計(jì)思維方面的學(xué)習(xí)記錄面向?qū)ο蟮囊恍├斫鈱?shí)例代碼就不上了就寫一些總結(jié)封裝提供屬性和方法的權(quán)限管理只對(duì)外暴露接口具體的功能在內(nèi)部實(shí)現(xiàn)繼承子類繼承父類的方法和屬性可以抽離公共代碼減少代碼冗余多態(tài)同一個(gè)接口在子類中的不同 寫在前面: 一些關(guān)于自己在代碼設(shè)計(jì)思維方面的學(xué)習(xí)記錄 面向?qū)ο蟮囊恍├斫?實(shí)例代碼就不上了, 就寫一些總結(jié) 封裝: 提供屬性和方法的權(quán)限管理, ...

    mochixuan 評(píng)論0 收藏0
  • 設(shè)計(jì)模式門面模式

    摘要:定義與類型定義又叫門面模式,提供了一個(gè)統(tǒng)一的接口,用來(lái)訪問(wèn)子系統(tǒng)中的一群接口外觀模式定義了一個(gè)高層接口,讓子系統(tǒng)更容易使用類型結(jié)構(gòu)型類圖門面模式是對(duì)系統(tǒng)復(fù)雜的關(guān)系處理做了一個(gè)封裝,對(duì)外提供一個(gè)簡(jiǎn)單的接口,成員介紹子系統(tǒng)被門面模式封裝的子系統(tǒng) 0x01.定義與類型 定義:又叫門面模式,提供了一個(gè)統(tǒng)一的接口,用來(lái)訪問(wèn)子系統(tǒng)中的一群接口 外觀模式定義了一個(gè)高層接口,讓子系統(tǒng)更容易使用 類型...

    Chiclaim 評(píng)論0 收藏0
  • 細(xì)談JavaScript中的一些設(shè)計(jì)模式

    摘要:注意事項(xiàng)聲明函數(shù)時(shí)候處理業(yè)務(wù)邏輯區(qū)分和單例的區(qū)別,配合單例實(shí)現(xiàn)初始化構(gòu)造函數(shù)大寫字母開(kāi)頭推薦注意的成本。簡(jiǎn)單工廠模式使用一個(gè)類通常為單體來(lái)生成實(shí)例。 @(書籍閱讀)[JavaScript, 設(shè)計(jì)模式] 常見(jiàn)設(shè)計(jì)模式 一直對(duì)設(shè)計(jì)模式不太懂,花了一下午加一晚上的時(shí)間,好好的看了看各種設(shè)計(jì)模式,并總結(jié)了一下。 設(shè)計(jì)模式簡(jiǎn)介 設(shè)計(jì)模式概念解讀 設(shè)計(jì)模式的發(fā)展與在JavaScript中的應(yīng)用 ...

    30e8336b8229 評(píng)論0 收藏0
  • 設(shè)計(jì)模式享元模式

    摘要:類圖相關(guān)的設(shè)計(jì)模式享元模式和代理模式當(dāng)代理模式消耗性能比較大的時(shí)候,就可以用享元模式享元模式和單例模式容器單例,享元模式就是復(fù)用對(duì)象的思想。源碼中的享元模式源碼地址享元模式參考慕課網(wǎng)設(shè)計(jì)模式精講設(shè)計(jì)模式讀書筆記享元模式 0x01.定義與類型 定義:提供了減少對(duì)象數(shù)量從而改善應(yīng)用所需的對(duì)象結(jié)構(gòu)的方法,系統(tǒng)使用少量對(duì)象,而且這些都比較相似,狀態(tài)變化小,可以實(shí)現(xiàn)對(duì)象的多次復(fù)用。 運(yùn)用共享技...

    vvpale 評(píng)論0 收藏0
  • 第5項(xiàng):固定資源首選使用依賴注入

    摘要:滿足此要求的簡(jiǎn)單模式是在創(chuàng)建新實(shí)例時(shí)將資源傳遞給構(gòu)造函數(shù)。依賴注入同樣適用于構(gòu)造函數(shù)靜態(tài)工廠第項(xiàng)和構(gòu)建器第項(xiàng)。將資源工廠傳遞給構(gòu)造函數(shù)就會(huì)變成一個(gè)有用的模式。這種做法稱為依賴注入,將極大地增強(qiáng)類的靈活性,可重用性和可測(cè)試性。 ??許多類依賴于一個(gè)或多個(gè)底層資源。 例如,拼寫檢查器依賴于字典。常見(jiàn)的做法是將這些類實(shí)現(xiàn)為靜態(tài)實(shí)用程序類(第4項(xiàng)): // Inappropriate use ...

    KnewOne 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<