设计模式之单例模式
来源:互联网 发布:组态软件 编辑:程序博客网 时间:2024/04/29 15:10
【定义】单例模式(SingleTon),保证一个类仅有一个实例,并提供一个访问它的全局访问点。
【场景】很多exe文件都只允许运行一次,即当你第一个exe打开未关闭之前,再第二次打开,会提示说“已经有一个exe程序在运行了”,如果将这个exe文件看成一个类,则它就是一个单例。
【UML】
【代码】
//下面的代码没有考虑多线程下的锁定#include <iostream>using namespace std;class SingleTon{private:static SingleTon* instance;SingleTon(){}~SingleTon(){delete instance;instance = NULL;}public:static SingleTon* GetInstance(){if(NULL == instance){instance = new SingleTon();}return instance;}};SingleTon* SingleTon::instance = NULL;int main(){SingleTon* s1 = SingleTon::GetInstance();SingleTon* s2 = SingleTon::GetInstance();if(s1 == s2){cout<<"s1和s2是同一个实例"<<endl;}return 0;}
【运行结果】
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- WM_KICKIDLE消息
- 用户控件与父页面以及用户控件与用户控件的方法调用和传值
- Linux SPI驱动
- MD5算法的原理
- 【学院派】出栈序列问题
- 设计模式之单例模式
- system.drawing.color和string之间的转换
- 程序员给自己五年前的10个建议
- 小凡模拟器目录
- ssh2整合问题
- 字符串的排列
- Compiling Cpp
- 15个非常有用的 HTML5 开发教程和速查手册
- Lance老师UI系列教程第四课->微信TAB界面的实现