設計模式-建立型:單例模式(1)
阿新 • • 發佈:2018-12-17
有的程式碼寫過,不再想起;有的程式碼複製粘貼後,還將回首。
上個專案已經進入收尾,利用年前的閒暇,對設計模式進行一個較為完整的學習。
這次主要參考《漫談設計模式:從面相物件開始》進行學習,程式語言將會使用java來描述。
OK, Let's go!
建立型:單例模式
如果我們需要保證系統內對於某個類最多隻能存在一個例項的時候,我們就會使用單例模式。例如快取池,資料連線池,執行緒池等。在多執行緒環境下,為了保證單一例項其實並不簡單。
public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; } }
最簡單的單例模式
為了防止類隨意被建立,所以類的構造方法是私有的。
將構造方法宣告為private,所以無法通過new 關鍵字建立新的例項,只能通過getInstance方法獲得。並且這種實現時執行緒安全的。
因為JVM只加載類的時候,對於static屬性的初始化只能由一個執行緒載入執行一次。
下一篇我們將學習如何在使用的時候才去例項化,而不是載入這個類的時候就建立例項。