一、引言最近在设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二同时可以给一些初学设计模式的朋友一些参考。首先我介绍的是设计模式中比较简单的一个模式...
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例...
分类:
其他好文 时间:
2014-12-30 23:20:54
阅读次数:
275
模式动机对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。 如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以...
分类:
其他好文 时间:
2014-12-25 18:01:16
阅读次数:
123
如果说,一个对象保证全局唯一,大家肯定会想到一个经典的设计模式:单例模式,如果要使用的对象必须是线程内唯一的呢? 数据槽:CallContext,ok看下msdn对callcontent的解释。 CallContext 是类似于方法调用的线程本地存储区的专用集合对象,并提供对每个逻辑执行线程...
分类:
编程语言 时间:
2014-12-22 12:38:30
阅读次数:
164
单例模式:
在实际的应用当中,有些对象我们只需要一个就足够了,比如:配置文件、工具类、线程池、缓存、日志对象、数据库连接对象等
如果创造出了多个实例,就有可能会导致许多问题,比如占用过多资源,不一致的结果等,这个时候就可以使用单例模式来解决这一问题,保证整个应用程序中某个实例有且只有一个。
关于饿汉模式和懒汉模式的区别:
1、饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快,线程安全
2、懒汉模式的特点是加载类时比较快,但运行时获取对象的速度比较慢(第一次调用),线程不安全...
分类:
编程语言 时间:
2014-12-20 23:28:37
阅读次数:
227
《parctical common lisp》的作者曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一...
分类:
编程语言 时间:
2014-12-12 11:30:57
阅读次数:
176
搞笑解释: 俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Sigleton,她们只要说道“老公”,都是指的同一个人,那就是我定义: 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。人话: 保证一个...
分类:
其他好文 时间:
2014-12-11 15:37:15
阅读次数:
155
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例...
分类:
编程语言 时间:
2014-12-10 07:06:13
阅读次数:
241
一、UML图
二、概念
单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。[DP]
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保护它的唯一实例。这个类可以保证没有其他实例可以被创建,并且他可以提供一个访问该实例的方法。
三、注意:
使用单例模式,只能保证一个线程内对象不会被多次创建,而不不能保证多线程...
分类:
编程语言 时间:
2014-12-10 00:37:07
阅读次数:
228