老僧长谈设计模式-1-单例模式

转载 2015年07月09日 15:56:04

声明:根据网络内容整理而成

老衲认为这是最简单的设计模式了,那我们就从最简单的开始吧。

【类图】

【描述】

【Show Code】

先上代码

public class Singleton{
	private static Singleton instance = null;
	private Singleton(){}
	public static synchronized Singleton getInstance(){
		if(null == instance)
			return new Singleton();
		return instance;
	}
}


【应用场景】

有些对象我们只需要一个,比方说线程池、缓存、对话框、注册表对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。

事实上这些对象只能有一个实例,如果有多个就会导致许多问题的产生。


1.Windows的Task Manager(任务管理器)就是很典型的单例模式(这个很熟悉吧),想想看,是不是呢,你能打开两个windows task manager吗? 不信你自己试试看哦~ 
2. windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。
3. 网站的计数器,一般也是采用单例模式实现,否则难以同步。
4. 应用程序的日志应用,一般都何用单例模式实现
5. Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源。
6. 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损耗还是非常昂贵的,因为何用单例模式来维护,就可以大大降低这种损耗。
7. 多线程的线程池的设计一般也是采用单例模式,这是由于线程池要方便对池中的线程进行控制。
8. 操作系统的文件系统,也是大的单例模式实现的具体例子,一个操作系统只能有一个文件系统。


最后,来张图作为结束语。



设计模式(1)——单例模式

原文地址:http://blog.jobbole.com/78059/ 单例模式也就是保证一个类只有一个实例的一种实现方法; 应用场景:  单例模式的使用自然是当我们的系统中某个对象只需要一...
  • chenqiangdage
  • chenqiangdage
  • 2015年10月09日 23:22
  • 1444

《设计模式》 - 1. 单例模式( Singleton )

Javascript设计模式 - 原文链接单例模式 : 定义 : 一个类有一个唯一实例, 只能被实例化一次, 可以多个地方调用获取 (JS本身是”无类”语言)在点击按钮需要弹出一个遮罩层的时, 例如 ...
  • yu__jiaoshou
  • yu__jiaoshou
  • 2016年11月16日 18:24
  • 1342

设计模式——单例模式、工厂模式、代理模式、观察者模式、装饰器模式

设计模式是一种解决方案,用于解决在软件设计中普遍存在的问题,是前辈们对之前软件设计中反复出现的问题的一个总结。 至于我们为什么要学习设计模式,我觉得轮子哥总结的很好 我们学设计模式,是为了学习如...
  • learrrrrrrrn
  • learrrrrrrrn
  • 2017年03月26日 16:55
  • 1254

老僧长谈设计模式-0-六大原则

声明:内容多来自网络,经整理而成。 1. 单一职责原则(Single Responsibility Principle,简称SRP) 不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项...
  • bruce_sky
  • bruce_sky
  • 2015年07月09日 15:19
  • 356

老僧长谈设计模式-3-策略模式

声明: 本节内容主要来自Head First 好吧,现在带你进入策略模式的地盘 【what】 策略模式是什么 测试 【How】 策略模式是如何构建的? 孩子,这个要从一个故事开始…… 【why】 ...
  • bruce_sky
  • bruce_sky
  • 2015年07月16日 18:38
  • 384

老僧长谈设计模式-9-责任链模式

【声明】 本节内容源自网络 【一句话介绍】 当你想要让一个以上的对象有机会能够处理某个请求的时候,就使用责任链模式(Chain of Responsibility Pattern)。 【先混个脸熟】 ...
  • bruce_sky
  • bruce_sky
  • 2016年12月13日 16:36
  • 193

老僧长谈设计模式-11-原型模式

原型(Prototype)模式 声明: 本节内容源自网络 【一句话介绍】 “原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节” 原型模式允许你通过复制现有的实例来创建...
  • bruce_sky
  • bruce_sky
  • 2016年12月17日 23:14
  • 246

设计模式学习之单例模式

  • 2013年12月11日 21:43
  • 5KB
  • 下载

23钟设计模式之单例模式

  • 2013年08月13日 10:41
  • 26KB
  • 下载

设计模式之单例模式程序

  • 2010年05月18日 10:28
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:老僧长谈设计模式-1-单例模式
举报原因:
原因补充:

(最多只允许输入30个字)