学习设计模式,自然从最简单的模式入手,而最简单的模式便是Singleton。所以第一篇就来所以说Singleton模式。看完GOF和Design patterns in Java的书,感觉Singleton虽然简单,但是想写出一个好的Singleton也不是一上来就能写出来的。
Singleton模式的用处自然是保证一个类只有一个唯一的实例。在建模中涉及到的只能有一个对象,例如Struts中的Action类就是一例。除此之外,Singleton还使得该对象只有一个全局访问点。这就是SIngleton的作用。
说得比较抽象,我们来看一个简单Singleton的C++和Java的代码
C++ Singleton模式
类定义class Singleton
2.{
3.public:
4. static Singleton * Instance();
5. ~Singleton();
6.
7.private:
8. Singleton();
9.
10. static Singleton * instance;
11.};
方法实现
12.Singleton * Singleton::instance = 0;
13.
14.Singleton::Singleton()
15.{
16.
17.}
18.
19.Singleton::~Singleton()
20.{
21.
22.}
23.
24.Singleton * Singleton::Instance()
25.{