今天我們來共同學習一下,在程式開發過程中,用來提高程式設計效率的二十三種設計模式。
這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中設計模式中最容易的實現和理解的設計模式了,不過單例模式寫很容易,但是寫好就不容易了,因為單例模式中也隱藏了很多的問題,趁著這次機會,結合網上的一些部落格,對單例模式做了乙個總結。這篇文章對單例模式的大部分問題,都進行了總結描述,並提供了解決方法。接下來還會對其他設計模式進行總結...