singleton(单件)-对象创建型模式
2016-05-10 00:13
375 查看
1.意图
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2.动机
对一些类来说,只有一个实例是很重要的。让类自身负责保存它唯一的实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。
3.适用性
当类只能有一个实例而且客户可以从一个周所周知的访问点访问它时。
当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
4.结构
Test.cpp
6.测试结果
7.效果
对唯一实例的受控访问
缩小名空间
允许对操作和表示的精化
允许可变数目的实例
比类操作更灵活
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2.动机
对一些类来说,只有一个实例是很重要的。让类自身负责保存它唯一的实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。
3.适用性
当类只能有一个实例而且客户可以从一个周所周知的访问点访问它时。
当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
4.结构
#include "Singleton.h" int main() { auto pSingltonInstacne = Singleton::GetInstance(); pSingltonInstacne->Print(); auto pSingltonInside = SingletonInside::GetInstance(); pSingltonInside->Print(); auto pSingltonStatic = SingletonStatic::GetInstance(); pSingltonStatic->Print(); while(1); }
Test.cpp
6.测试结果
7.效果
对唯一实例的受控访问
缩小名空间
允许对操作和表示的精化
允许可变数目的实例
比类操作更灵活
相关文章推荐
- UVa - 10474 Where is the Marble?(STL)
- 关于Ping和Tracert命令原理详解
- java转义字符探究恢复
- 自定义时钟控件
- 生产者消费者问题、Java实现
- 1-2 Fibonacci sequence
- 破解基础篇三
- UVa - 156 Ananagrams(STL)
- log4j怎样控制只输出自己写的代码的日志,不输出框架中的日志
- 【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
- 《深入浅出WPF》学习笔记之一
- 学习jquery小测试 自娱自乐
- 关于HTTPS理论和实践
- 最长上升子列
- http://blog.csdn.net/pet8766/article/details/8186955
- 行为统计学第二章知识总结(未完)
- 不加<!DOCTYPE html>页面也显示,加不加的区别
- Node中http模块详解(服务端篇)
- Wiki小记(二):Dokuwiki主题和插件推荐
- 龙书(Dragon book) +鲸书(Whale book)+虎书(Tiger book)