Singleton模式即为单例模式/单件模式。

(一)意图——保证一个类仅有一个实例,并提供一个访问它的全局访问点。

如一台计算机可以有多个端口,但是应该统一管理这些端口,避免访问冲突。——选择Singleton模式就是为了避免不一致状态的发生。

(二)动机

一个全局变量使得一个对象可以被访问,但是它不能防止产生实例化多个对象。

为解决以上问题,使类本身负责保存它的唯一实例,这个类保证没有其他实例可以被创建,提供一个访问该实例的方法Instance操作。——这就是Singleton模式。

(三)适用性

1)当类只能有一个实例而且客户只能从一个访问点访问它时。

2)当这个唯一实例应该是通过子类可以扩展,并且客户无需更改代码就可以使用一个扩展实例。

(四)结构



(五)参考

Singleton的几个典型例子

懒汉式单例、恶汉式单例、登记式单例:http://www.cnblogs.com/whgw/archive/2011/10/05/2199535.html

Java 单例模式的7种写法:http://www.blogjava.net/kenzhh/archive/2011/09/02/357824.html

最新文章

  1. 在Centos中部署redis运行状态图形化监控工具 — RedisLive
  2. CSS3与页面布局学习总结(四)——页面布局大全BFC、定位、浮动、7种垂直居中方法
  3. web前端学习笔记(CSS变化宽度布局)
  4. Android MediaPlayer和SurfaceView播放视频
  5. jquery unbind bind
  6. 我的android学习经历24
  7. Objective-C----MRC内存管理 、 自动释放池 、 面向对象三大特性及封装 、 继承 、 组合与聚合
  8. (DP)House Robber
  9. php的laravel框架使用心得
  10. FFMpeg for PHP
  11. systemd: Started Session 305 of user root.
  12. JMeter 连接 sql server
  13. Jmeter笔记:响应断言详解
  14. linux 为什么要关闭selinux
  15. dockerfile基础命令
  16. .net各版本framework官方下载地址
  17. 【sonar-block】Use try-with-resources or close this "BufferedInputStream" in a "finally" clause.
  18. VBS虚拟键盘十六进制列表
  19. 设计模式之模板方法模式(Template)
  20. 异步消息处理机制,UI更新

热门文章

  1. Linux Shell多命令执行
  2. iPhone:4.7 5.5 4 3.5 对应的各个设备屏幕尺寸对应的像素及App上线信息
  3. sql语句的join用法
  4. ASP.NET MVCでResponse Headerのサーバーバージョンをどうやって隠しますか?
  5. Android请求服务器的两种方式--post, get的区别
  6. hdu 1251:统计难题(字典树,经典题)
  7. 用脚本创建和恢复 DB2数据库
  8. hdu 4050 2011北京赛区网络赛K 概率dp ***
  9. [Java] 使用Java Visual VM寻找PermGen Space的解决办法
  10. Java Data Type