◆記錄能夠正常工作的簡單機制。
◆為開發人員和體系結構設計者提供通用的詞匯和分類法。
◆允許以模式組合的方式簡明扼要地描述方案。
◆允許重復使用體系結構、設計和實現決策。
模式可以記錄簡單機制
模式描述給定上下文中反復出現的問題,并基于一組指導性影響因素來建議解決方案。解決方案通常是一種簡單的機制,是為了解決模式中所標示出的問題而一起工作的兩個或多個類、對象、服務、進程、線程、組件或節點之間的協作。
您正在構建一個報價應用程序,其中有一個類負責管理系統中的所有報價。很重要的一點是,所有報價都應與該類的一個(而且只與一個)實例進行交互。如何構造您的設計,以便從該應用程序中只能訪問該類的一個實例?
解決該問題最簡單的方案就是創建一個具有私用構造函數的QuoteManager類,以便任何其他類都不能實例化它。此類包含QuoteManager的一個靜態實例,并使用名為GetInstance()的靜態方法返回。此代碼大體如下所示:
public class QuoteManager...{
//注意:僅適用于單線程應用程序
private static QuoteManager _Instance = null;
private QuoteManager()
...{}
public static QuoteManager GetInstance()
...{
if (_Instance==null)
...{
_Instance = new QuoteManager ();
}return _Instance;
}
//... QuoteManager提供的函數
}
您可能已經像其他許多開發人員那樣通過類似的方式解決過類似的問題。實際上,注意反復出現的問題并尋求解決方案的模式作者已經屢次發現了這種實現,提取出了通用解決方案并將這種問題-解決方案對稱為Singleton模式[GOF95]。
問題-解決方案對模式
文章來源于領測軟件測試網 http://www.kjueaiud.com/