单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台...
分类:
其他好文 时间:
2014-10-09 00:38:27
阅读次数:
294
C#设计模式学习笔记-单例模式 最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。 在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定义是:Ensurea class onl.....
分类:
其他好文 时间:
2014-09-22 16:43:42
阅读次数:
189
使用单件模式的意图是保证一个类只有一个实例,并提供一个访问它的全局访问点。
将单件定义为全局或静态对象,然后依赖于自动的初始化,并不能完全实现上述意图。虽然可以提供全局访问点,但这是不够的。原因如下:
1)我们不能保证静态对象只有一个实例会被声明。
2)我们可能没有足够信息在静态初始化时实例化每个单件,单件可能需要在程序运行中稍后被计算出来的值。
3)c++没有定义转换单元上全局对象的构造...
分类:
其他好文 时间:
2014-09-16 23:47:51
阅读次数:
425
单件模式又被称为单例模式,定义很简单——只允许存在指定类的唯一实例(instance),并由该类提供全局访问点。但在实际应用的时候会遇到很多问题,比如在多线程,或多个classloader环境下,如何保证单件模式的正确性等等
分类:
其他好文 时间:
2014-09-12 18:59:04
阅读次数:
235
设计模式目录:设计模式 1 ——观察者模式设计模式 2 —— 装饰者模式设计模式 3 —— 迭代器和组合模式(迭代器)设计模式 4 —— 迭代器和组合模式(组合)设计模式 5 —— 工厂模式设计模式 6 —— 单件模式设计模式 7 —— 命令模式概述第1部分 问题引入第2部分 定义和实现第3部分 使...
分类:
其他好文 时间:
2014-09-11 15:05:32
阅读次数:
335
工程中,某些对象我们只需要一个,比如线程池,缓存,对话框等的对象,我们通常的做法是可以定一个全局静态变量,然后通过程序初始化的时候就实例化他们,然后直接调用这个全局变量,但是这样有个问题,如果我的这个对象消耗的资源很多,而有的时候,我的程序在运行过程中又没用到这个对象,岂不是浪费了很多资源。通常的做...
分类:
其他好文 时间:
2014-09-02 15:36:14
阅读次数:
186
【说明】单件模式是一种用于确保整个应用程序中只有一个类实例。想想我们的系统中有哪些方面可以应用到单件模式,比如大家常说的连接(ADOConnection)共享,其实就是指的单件模式。【MyBean中的单件模式】MyBean中插件一旦成为单件模式,框架就会帮你接管对象的生命周期。你每次调用getBea...
分类:
其他好文 时间:
2014-08-31 10:24:11
阅读次数:
176
设计模式目录:设计模式 1 ——观察者模式设计模式 2 —— 装饰者模式设计模式 3 —— 迭代器和组合模式(迭代器)设计模式 4 —— 迭代器和组合模式(组合)设计模式 5 —— 工厂模式设计模式 6 —— 单件模式概述:
分类:
其他好文 时间:
2014-08-28 16:07:29
阅读次数:
246
单例模式也称为单件模式,可能是所有模式中使用最广泛也是最简单的设计模。其目的是保证仅有一个类实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。费话少说,重在意会,翠花上菜了: 下面主要提两种常见的设计方法:普通方法与模板方法 1 /** 2 * @class S...
分类:
其他好文 时间:
2014-08-22 16:12:59
阅读次数:
173
首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了,比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个,这里就可以通过单例模式来避免两个打印作业同时输出到打印机中,即在整个的打印过程中我只有一个打印程序的实例。简单说来,单例模式(也叫单件模式)的作用就是...
分类:
其他好文 时间:
2014-08-15 01:27:28
阅读次数:
264