簡介

設(shè)計模式GOF

創(chuàng)建型模式

-單例模式、工廠模式、抽象工廠模式、建造者模式、原型模式

結(jié)構(gòu)型模式

-適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式

行為型模式

-模板方式模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態(tài)模式、策略模式、職責(zé)鏈模式、訪問者模式

單例模式

  • 核心作用
    -保證一個類只有一個實例,并且提供一個訪問該實例的全局訪問點
  • 單例模式的優(yōu)點
    -由于單例模式只生成一個實例,減少了系統(tǒng)性能開銷,當(dāng)一個對象的產(chǎn)生需要比較多的資源時,如讀取配置、產(chǎn)生其他依賴對象時,則可以通過在應(yīng)用啟動時直接產(chǎn)生一個單例對象,然后永久駐留內(nèi)存的方式來解決
    -單例模式可以在系統(tǒng)設(shè)置全局的訪問點,優(yōu)化環(huán)共享資源訪問,例如可以設(shè)計一個單例類,負(fù)責(zé)所有數(shù)據(jù)表的映射處理
  • 常見的五種單例模式實現(xiàn)方式

-主要:

1.餓漢式線程安全,調(diào)用效率高,但是不能延遲加載
2.懶漢式線程安全,調(diào)用效率不高。但是可以延時加載

-其他:

3.雙重檢測鎖式
4.靜態(tài)內(nèi)部類式
5.枚舉單例

工廠模式

-實現(xiàn)了創(chuàng)建者和調(diào)用者的分離
-詳細(xì)分類:

  • 簡單工廠模式
  • 工廠方法模式
  • 抽象工廠模式

面向?qū)ο笤O(shè)計的基本原則:

-OCP(開閉原則):一個軟件的實體應(yīng)當(dāng)對擴展開放,對修改關(guān)閉.
-DIP(依賴倒轉(zhuǎn)原則):要針對接口編程,不要針對實現(xiàn)編程.
-Lod(迪米特法則):只與你直接的朋友通信,而避免和陌生人通信

- 核心本質(zhì)

-實例化對象,用工廠方法代替new操作
-將選擇實現(xiàn)類,創(chuàng)建對象統(tǒng)一管理和控制,從而將調(diào)用者跟我們的實現(xiàn)類解耦

- 工廠模式

-簡單工廠模式

  • 用來生產(chǎn)同一等級結(jié)構(gòu)中的任意產(chǎn)品
    -工廠方法模式
  • 用來生產(chǎn)同一等級結(jié)構(gòu)中的固定產(chǎn)品
    -抽象工廠模式
  • 用來生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 創(chuàng)建型模式 工廠模式 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一。這種類型的設(shè)...
    liuyang7519閱讀 392評論 0 2
  • 這里是對《設(shè)計模式Java版》[https://gof.quanke.name]的提煉匯總,在真正深入理解之前,方...
    LeonXtp閱讀 1,163評論 0 0
  • 設(shè)計模式主要分三個類型:創(chuàng)建型、結(jié)構(gòu)型和行為型。 其中創(chuàng)建型有: 一、Singleton,單例模式:保證一個類只有...
    iOS開發(fā)攻城獅閱讀 1,847評論 0 4
  • 簡介 scala是一門綜合了面向?qū)ο蠛秃瘮?shù)式編程概念的靜態(tài)類型的編程語言。函數(shù)式編程以兩大核心理念為指導(dǎo):第一個理...
    盜夢者_56f2閱讀 946評論 2 5
  • 創(chuàng)建型模式 抽象工廠模式(abstract facroty) 3.1模式動機 在工廠方法模式中具體工廠負(fù)責(zé)生產(chǎn)具體...
    僚機KK閱讀 814評論 0 2

友情鏈接更多精彩內(nèi)容