二十三種設計模式之單例模式

2021-09-19 15:31:24 字數 1419 閱讀 8291

今天我們來共同學習一下,在程式開發過程中,用來提高程式設計效率的二十三種設計模式。

這23種設計模式,總共呢可以分為三大類:

1、建立型模式:

單例模式( singleton),工廠方法模式(factory method),抽象工廠模式(abstract factory),建立者模式(builder),原型模式(prototype)

2、結構型模式:

介面卡模式(adapter),橋接模式(bridge),裝飾模式(decorator),組合模式(composite),外觀模式(facade),享元模式(flyweight),**模式(proxy)

3、行為型模式:

模板方法模式(template method),命令模式(command),迭代器模式(iterator),觀察者模式 (observer),中介者模式(mediator),備忘錄模式(memento),直譯器模式(expression),狀態模式(state),策略模式(strategy),職責鏈模式(chain of responsibility),訪問者模式(visitor)

在接下來的二十幾篇文章中,我們就按照上面的順序來學習者23種設計模式。

1、核心作用:

保證乙個類只有乙個例項,並且提供乙個訪問該例項的全域性訪問點。

2、常見場景:

乙個單例模式只能生成乙個例項,減少了系統效能開銷,當乙個物件的產生需要比較多的資源時,則可以通過在應用啟動時直接產生乙個單例物件,然後永久駐留記憶體的方式來解決。

單例系統可以在系統設定全域性的訪問點,優化環共享資源訪問。

4、實現方式:

主要有餓漢式和懶漢式兩種。實現**如下:

懶漢式:

package singleton;

//餓漢式

public class singletondemo1

//方法沒有同步,呼叫效率高

public static singletondemo1 getinstance()

}

餓漢式:

package singleton;

//懶漢式,實現了延遲載入

public class singletondemo2

public static synchronized singletondemo2 getinstance()

return instance;

}}

總結來看,我們發現,單例模式有五個核心單詞,那就是private,static,private,public,static。

最後呢,單例模式還有三種實現方式,雙重監測鎖式,靜態內部類式,列舉單例。

Java二十三種設計模式 單例模式

單例模式,簡單的說就是乙個專案中保證只有乙個例項存在,比如乙個遊戲中的小怪獸。精髓 構造私有化,外部類通過單例類公開的乙個方法進行訪問,建立例項。1.用的時候才建立例項,延時載入,稱為懶漢模式 2.類載入時就建立例項,稱為餓漢模式 對比 餓漢模式執行緒安全,簡單明瞭,缺點就是提前生產出一些還沒用的例...

設計模式二十三之單例模式

1.什麼是單例模式?它的核心在於,單例模式可以保證乙個類僅建立乙個例項,並提供乙個訪問它的全域性訪問點。該模式有三個基本要點 一是這個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。由於在乙個系統中,乙個類經常會被使用在不同的地方,通過單例模式,我們可以避免多次建...

二十三種設計模式(一)單例模式總結

單例模式可以說是23中設計模式中最容易的實現和理解的設計模式了,不過單例模式寫很容易,但是寫好就不容易了,因為單例模式中也隱藏了很多的問題,趁著這次機會,結合網上的一些部落格,對單例模式做了乙個總結。這篇文章對單例模式的大部分問題,都進行了總結描述,並提供了解決方法。接下來還會對其他設計模式進行總結...