1. 程式人生 > >C#設計模式之單例模式(Singleton Pattern)

C#設計模式之單例模式(Singleton Pattern)

單例模式解釋: 

       一個類有且僅有一個例項,並且自行例項化向整個系統提供。這一模式的目的是使得類的一個物件成為系統中的唯一例項。

模式型別: 創造類模式

使用時機:

       對於系統中的某些類來說,只有一個例項很重要,例如,一個系統中可以存在多個列印任務,但是隻能有一個正在工作的任務;一個系統只能有一個視窗管理器或檔案系統;一個系統只能有一個計時工具或ID(序號)生成器。如在Windows中就只能開啟一個工作管理員。如果不使用機制對視窗物件進行唯一化,將彈出多個視窗,如果這些視窗顯示的內容完全一致,則是重複物件,浪費記憶體資源;如果這些視窗顯示的內容不一致,則意味著在某一瞬間系統有多個狀態,與實際不符,也會給使用者帶來誤解,不知道哪一個才是真實的狀態。因此有時確保系統中某個物件的唯一性即一個類只能有一個例項非常重要。

特徵:

1.某個類只能有一個例項

2.它必須自行建立這個例項

3.它必須自行向整個系統提供這個例項