C# Singleton設計模式淺談
在向大家詳細介紹C#語言之前,首先讓大家了解下C# Singleton設計模式,然后全面介紹C#語言。
近來,我在學習如何在C#語言中使用設計模式中讀到一些資料,其中有關C# Singleton設計模式引起了我的注意。
學過設計模式的開發者都知道C# Singleton設計模式。我想簡要地解釋一下這個設計模式是為那些尚未學習過設計模式的朋友。C# Singleton設計模式是告訴您如何在你的應用程序創建一個唯一類示例的全局對象,也就是說,這個對象只能被實例化一次,這個對象同時提供一個訪問它的一個全局的訪問點。這種對象如應用程序中的窗口管理器或者是打印假脫機、數據庫連接池等。
現在讓我們先看一下設計模式一書中對C# Singleton設計模式的C++實現(為了方便比較,我把實現的代碼寫成內聯的方式):
- classSingleton
- {
- public:
- staticSingleton*Instance()
- {
- if(_instance==0)
- {
- _instance=newSingleton;
- }
- return_instance;
- }
- protected:
- Singleton();
- Private:
- StaticSingleton*_instance;
- };
- Stington*Singleton::_instance=0;
這里我不想對上述的代碼作解釋,大家可以參閱本文后面提供的參考文獻。
為了更好的理解C#,我這里也出示一下Java中的Singleton模式實現代碼(不是有人認為C#是對Java的剽竊嗎J):
- classSingleton
- {
- publicSingletonInstance()
- {
- if(_instace==null)
- {
- synchronized(Class.forName("Singleton"))
- {
- if(_instance==null)
- {
- _instance=newSingleton();
- }
- }
- }
- return_instance;
- }
- protectedSingleton(){}
- privatestaticSingleton_instance=null;
- }
【編輯推薦】