構造器設定為private
意圖:保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。
主要解決:乙個全域性使用的類頻繁地建立與銷毀。
何時使用:當您想控制例項數目,節省系統資源的時候。
如何解決:判斷系統是否已經有這個單例,如果有則返回,如果沒有則建立。
關鍵**:建構函式是私有的。
應用例項:
優點:例子
createknife 是工廠方法,抽象,empty,
子類的example, budgetknifestore
這些各種各樣的具體knifestore,都繼承knifestore, 但是要有具體的createknife方法,才可以instantiate.
這樣子,只要修改subclass, 或者新增subclass即可,不用修改superclass, 便於**的維護
單例模式 工廠方法模式 抽象工廠模式
單例模式 public class person2 public static person2 getinstacne 靜態 內部類 外部類才能呼叫 靜態 隨著類的載入而產生 private static class personholder private person2 public stati...
單例模式和工廠方法模式
單例模式 餓漢式的單例模式 程式初始化時就建立好了 author luthor21 class singletone public static singletone getinstance 懶漢式的單例模式 在使用到的時候才會建立例項 author luthor21 class singleton...
工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...