【设计模式】【单例模式】

/**
 * Description:
 * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
 * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
class Singleton
{
	//使用一个变量来缓存曾经创建的实例
	private static Singleton instance;
	//将构造器使用private修饰,隐藏该构造器
	private Singleton(){}
	//提供一个静态方法,用于返回Singleton实例
	//该方法可以加入自定义的控制,保证只产生一个Singleton对象
	public static Singleton getInstance()
	{
		//如果instance为null,表明还不曾创建Singleton对象
		//如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法
		if (instance == null)
		{
			//创建一个Singleton对象,并将其缓存起来
			instance = new Singleton();
		}
		return instance;
	}
}
public class SingletonTest
{
	public static void main(String[] args)
	{
		//创建Singleton对象不能通过构造器,只能通过getInstance方法
		Singleton s1 = Singleton.getInstance();
		Singleton s2 = Singleton.getInstance();
		//将输出true
		System.out.println(s1 == s2);
	}
}
时间: 2024-09-07 11:47:16

【设计模式】【单例模式】的相关文章

学习JavaScript设计模式(单例模式)_javascript技巧

单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池.全局缓存.浏览器的window对象.在js开发中,单例模式的用途同样非常广泛.试想一下,当我们单击登录按钮的时候,页面中会出现一个登录框,而这个浮窗是唯一的,无论单击多少次登录按钮,这个浮窗只会被创建一次.因此这个登录浮窗就适合用单例模式. 1.单例模式的使用场景 在使用一种模式之前,我们最好要知道,这种模式的使用场景.用了这么久的单例模式,竟全然不知!用它

JS设计模式 单例模式 模块模式

关于设计模式 先说说什么是设计模式吧.很多人都觉得"设计模式"这东西很玄乎,把Gof四人帮的<Design Patterns>奉为编程圣经,而我却觉得大可不必.设计模式说白了,就是在特定环境下解决某类常见问题的一种套路,按着这种套路去做就会很得心应手.但是,这并不代表这些设计模式是放之四海皆准,更不是说套着设计模式做的东西就一定是最好维护.性能最佳.至高无上的了.就算你不知道什么设计模式,只要思路正确,也能写出设计模式来. 有大师说,设计模式其实是对语言缺陷的一种弥补.这里

设计模式——单例模式

       学习设计模式也有一段时间了,看了些书籍也一直在园子里关注设计模式的文章,无奈动手比较少,仅仅几个设计模式拿来应用过,其它的基本上仅限于了解概念而 已.悲哉!悲哉!前阵子在项目里居然发现可以应用单例模式,呵呵,颇有些惊喜.故写下面的.以此巩固和梳理自己的知识,加深理解. 什么叫单例模式? 单例模式又叫做单态模式或者单件模式      概念1(GOF):单例模式(Single)是指保证一个类仅有一个实例,并提供一个访问它的全局访问点       概念2:单例模式确保某一个类只有一个实例

iOS设计模式 - 单例模式

IOS设计模式单例类 Made By HeYang 内容大纲: 1.单例模式 2.编写严格的单例 3.利用单例模式优化本地存储 4.重写allocWithZone实现单例 5.使用异常处理强制避免init创建实例 6.MRC下的单例模式,然后宏定义抽取单例类(兼顾ARC和MRC) 7.附录 1.单例模式 单例模式的描述: 系统中的一个类只提供一个实例供外界使用. 下面举几个IOS开发中常用的几个单例: [[UIApplication sharedApplication] statusBarFra

Java设计模式--单例模式

单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点. Singleton Pattern Ensure a class only has one instance, and provide a global point of access to it. 类图 模式的结构与使用 单例方法模式的结构中包括一种角色. + 单件类(Singleton):单件类只可以创建出一个实例. java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种: 懒汉式单例 饿汉式单例 登

1、Python与设计模式--单例模式

一.总线 总线是计算机各种功能部件或者设备之间传送数据.控制信号等信息的公共通信解决方案之一.现假设有如下场景:某中央处理器(CPU)通过某种协议总线与一个信号灯相连,信号灯有64种颜色可以设置,中央处理器上运行着三个线程,都可以对这个信号灯进行控制,并且可以独立设置该信号灯的颜色.抽象掉协议细节(用打印表示),如何实现线程对信号等的控制逻辑. 加线程锁进行控制,无疑是最先想到的方法,但各个线程对锁的控制,无疑加大了模块之间的耦合.下面,我们就用设计模式中的单例模式,来解决这个问题. 什么是单例

PHP设计模式——单例模式

声明:本系列博客参考资料<大话设计模式>,作者程杰.        单例模式也称单态,是23种设计模式中最简单的一种,从他的名字就可以知道他的核心思想,单例模式就是系统中只有一个这样的对象,对象只有一个,在Java或者C#中,单例模式一般有两种,分别是懒汉式.饿汉式,但是在PHP中常用的就是懒汉式,由于PHP是单线程的,懒汉式也不存在双重验证.         懒汉式具体代码:         <?php /** * Created by PhpStorm. * User: LYL *

跟屌丝大哥学设计模式-单例模式

概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种.哈哈 我们可以这样分 屌丝单例模式:懒汉式屌丝单例,饿汉式屌丝单例,登记式屌丝单例. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都

php单态设计模式(单例模式)实例_php技巧

单态设计模式也叫单例模式: 1.单态设计模式含义: 单态模式的主要作用是保证在面向对象编程设计中,一个类只能有一个实例对象存在.作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2.单台模式的三个关键点: ① 需要一个保存类的唯一实例的静态成员变量: ②构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义: ③必须提供一个访问这个实例的公共的静态方法(通常为

php设计模式——单例模式(Singleton)的常见应用场景

单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一. 这里又不具体讲如何实现单例模式和介绍其原理(因为这方便的已经有太多的好文章介绍了),如果对单例模式不了解的可以先看下:http://terrylee.cnblogs.com/archive/2005/12/09/293509.html .当然也可以自己搜索.