有些內容使用中英雙語,有些只有英文或中文。歡迎使用與分享任何內容,但先來信告知並標示此部落格為出處。
Some parts use both Chinese and English, but some parts use only one language. Feel free to share, but please contact me first and list this blog as your reference.
顯示具有 Singleton 標籤的文章。 顯示所有文章
顯示具有 Singleton 標籤的文章。 顯示所有文章

2014年5月18日 星期日

Design Patterns 筆記 - Singleton Pattern 單例模式

初學Design Pattern,如有謬誤或超級大錯還請指教。

如不知道什麼是 Design Patterns,可先閱覽一下這篇:Design Patterns 筆記 - Overview

想知道其他種 Design Patterns,請看這篇:Design Patterns 筆記 - Categories 分類條列

另外,如果不懂Java的介面,可以參考這一篇:JAVA - 什麼是介面?


以下內容主要從 tutorialspoint 的 Design Patterns - Singleton  Pattern 翻譯而來。
故事背景跟額外補充是參考自王者歸來:品味Java的21種設計模式

故事背景:

很多專案或是系統,都有一些開發人員定義的設定檔或資料檔,該如何讀取這些檔案內容?
好像不難啊? 直接寫一個 class ,能讀取檔案,能回傳設定檔的內容即可。
用戶在使用時直接建立此物件即可使用。

這會有問題嗎? 有!
如果系統之中有多處需要用到同一個設定檔呢? 那是不是會new()非常多個設定檔物件!
嚴重浪費系統空間資源,如果設定檔內容較大,那不是死定了嗎 = =?

所以其實我們只需要一個設定檔物件即可,Singleton Pattern 就是解決方案!