设计模式之单例模式
来源:互联网 发布:js 物体 的宽和高 编辑:程序博客网 时间:2024/06/06 13:20
1、单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。
UML图如下:
2、C++代码实现如下:
- #include <iostream>
- using namespace std;
- /* Singleton类,定义一个GetInstance操作
- 允许客户访问它的唯一实例 */
- class Singleton
- {
- private:
- static Singleton * instance;
- public:
- static Singleton * GetInstance() {
- if (instance == NULL) {
- instance = new Singleton();
- }
- return instance;
- }
- };
- Singleton * Singleton::instance = NULL;
- int main()
- {
- Singleton * p_s1 = Singleton::GetInstance();
- Singleton * p_s2 = Singleton::GetInstance();
- if (p_s1 == p_s2) {
- cout << "两个对象是相同的实例" << endl;
- }
- return 0;
- }
0 0
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- Socket 由浅入深系列--------- 简单实现编程(三)
- python --enumerate用法
- 日期格式转换和计算
- JSP向后台传递参数的四种方式
- 通过.reg文件修改注册表
- 设计模式之单例模式
- Jqurey实现类似EasyUI的页面布局
- mybatis防止sql注入
- Unity3D脚本学习——运行时类
- poj 3735 Training little cats 矩阵
- ECshop中TemplateBeginEditable 和后台编辑讲解
- S-Nim
- 使用Unity3D开发项目的一点经验
- 让自己的apk可以被别人用二维码下载