單例模式的基本概念

2021-09-14 05:19:32 字數 819 閱讀 3744

摘抄菜鳥教程:

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項。即乙個類只有乙個物件例項

注意:1.單例類只能有乙個例項

2.單例類必須自己建立自己的唯一例項

3.單例類必須給所有其他物件氣功這一例項

優點:1.例項控制

單例模式會阻止其他物件例項化自己的單例物件的副本,從而確保所有物件都訪問唯一例項.

2.靈活性

因為類控制了例項化過程,所以類可以靈活更改例項化過程.

缺點:1.沒有介面,不能繼承,與單一職責原則衝突,乙個類應該只關心內部邏輯,而不關心外面怎麼樣來例項

使用場景

1.要求生產唯一序列號

2.web中的計數器,不用每次重新整理否在資料庫裡加一次,可以使用單例先快取起來

3,建立的乙個物件需要消耗的資源過多,比如i/o與資料庫的鏈結等

簡單例項:

步驟一建立乙個singleton類

public class singleobject 

//獲取唯一可用的物件

public static singleobject getinstance()

public void showmessage()

}

步驟二

public class singletonpatterndemo 

}

步驟3

執行程式,輸入結果

hello world!

單例模式的概念

單例模式 單例就是在整個程式生命週期中,任何乙個時刻,單例類的例項只能存在乙個,並自行例項化,並向整個系統提供這個例項的單例模式 單例模式與全域性變數的差別 1 全域性變數無法保證例項只存在乙個 2 編碼規範限制使用全域性變數的個數 3 全域性變數無法實現繼承 單例模式必須儲存自己唯一的乙個例項,構...

測試用例基本概念

測試用例是為特定的目的而設計的一組測試輸入 執行條件和預期的結果。測試用例是執行的最小實體。簡單地說,測試用例就是設計乙個場景,使軟體程式在這種場景下,必須能夠正常執行並且達到程式所設計的執行結果。1.最有可能抓住錯誤的 2.不是重複的 多餘的 3.一組相似測試用例中最有效的 4.既不是太簡單,也不...

模式設計的基本概念

設計習語,設計模式,架構模式 模式從目的上分類 建立型模式 工廠模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型模式 介面卡模式 橋接模式 過濾器模式 組合模式 裝飾器模式 外觀模式 享元模式 模式 行為型模式 責任鏈模式 命令模式 直譯器模式 迭代器模式 中介者模式 備忘錄模 觀察者模式...