您可能已經像其他許多開發人員那樣通過類似的方式解決過類似的問題。實際上,注意反復出現的問題并尋求解決方案的模式作者已經屢次發現了這種實現,提取出了通用解決方案并將這種問題-解決方案對稱為Singleton模式[GOF95]。
問題-解決方案對模式
圖1 簡化的Singleton模式
通過將圖1中簡化的模式示例與QuoteManager源代碼進行比較,闡明了模式(通用問題-解決方案對)和模式應用程序(針對非常具體的問題的具體解決方案)之間的區別。模式級別的解決方案是多個類之間簡單但極其順暢的協作。模式中的通用協作專門適用于QuoteManager類,提供了用來控制報價應用程序中實例化的機制。顯然,您可以稍微修改一下某種模式以滿足局部的特定要求,所以同一種模式可以應用于無數個應用程序。
所編寫的模式提供了一種記錄簡單且經過證實的機制的有效方法。模式是以特定格式編寫的,這一點對于裝載復雜思想的容器非常有用。這些模式在被記載和起名之前,就早已存在于開發人員的大腦及其代碼中。
原文轉自:http://www.anti-gravitydesign.com