设计模式-单件模式(Singleton)
2010-09-06 20:49
211 查看
简述
单件模式属于创建型模式,它是设计模式中最简单的一种模式,当然它的使用也是无处不在的。功能
保证一个类仅有一个实例,并提供一个访问它的全局访问点。何处使用
当需要控制一个类的实例数量,且调用者可以从一个公共的众所周知的访问点访问时,我们就可以考虑使用单件模式了。设计
我们用 UML 来设计单件模式,当然在以后的设计模式的设计部分都将采用 UML 来描述设计,这样就更为形象化了。实现
从 UML 设计图中我们可以看出,为了让一个类只有一个实例,它必须创建一个静态变量,然后我们用一个公共静态的 Instance() 的方法来创建它,但是为了避免这个类自身的构造函数可以创建对象,将构造函数设置成 protected 或者 private,这样外部就只能通过 Instance() 的方法来创建一个静态的 Singleton 类。看来这样我们达到了我们的目的,接下来看代码:public class Singleton { private static Singleton instance; protected Singleton() {} public static Singleton Instance() { if(instance == null) instance = new Singleton(); return instance; } }
由此看来,实现单件模式我们可以做下列几步:
在类中创建一个静态变量,变量类型为当前类;
在类中创建一个公共的静态方法,让用户可以通过此方法创建此类的静态对象;
最后将构造函数设置为 protected 或者 private。
To be continued![b] @ Design Patterns[/b]
相关文章推荐
- C#面向对象设计模式学习笔记(1) - Singleton 单件模式(创建型模式)
- 设计模式 3.5 Singleton(单件)-对象创建型模式
- 设计模式 - 单件模式(Singleton)
- C# 设计模式-单件(Singleton)
- 设计模式杂谈:创建型模式之单件模式(Singleton)
- 面向对象的设计模式系列之一:单件模式(Singleton)
- 设计模式之Singleton(单件)
- C#面向对象设计模式:Singleton 单件(创建型模式)
- android设计模式--之单件模式(singleton)
- VB.net设计模式之单件模式(singleton)
- 【初学设计模式】Singleton (单件)
- 【设计模式】学习笔记7:单件模式(Singleton)
- 设计模式六:singleton单件模式——对象创建型模式
- 关于动态单例设计模式或动态单件设计模式—Singleton
- 我的设计模式之旅(2)――单件模式Singleton
- PHP设计模式之单件(Singleton)
- 设计模式之单件模式(Singleton)
- 【设计模式学习笔记】Singleton单件模式
- 设计模式之-----单件(singleton)
- 设计模式学习笔记(二)——Singleton单件模式