小工具      在线工具  汉语词典  css  js  c++  java

[设计模式-创建型]单态(Singleton)

110-Java语言 额外说明

收录于:195天前

概括

名称 Singleton
结构

动机

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

适用性

  • 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。

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


解析

形象比喻:

SINGLETON—俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Sigleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事)

单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用


一言蔽之, 就是某个类的对象只需要一个就够了。 在建立数据库连接的时候如果只需要一个连接,可以用到这种模式。


实例

涉及的文件有:

Singleton.java

TestMain.java

/**   
 * @author oscar999   
 * @date 2013-7-19
 * @version V1.0   
 */
package designptn.singleton;

public class Singleton {
	private static Singleton sing;

	private Singleton() {

	}
	
	public static Singleton getInstance(){
		if(sing == null){
			sing = new Singleton();
		}
		return sing;
	}
}

/**   
* @author oscar999   
* @date 2013-7-19
* @version V1.0   
*/
package designptn.singleton;

public class TestMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Singleton sing = Singleton.getInstance();
        Singleton sing2 = Singleton.getInstance();
        
        System.out.println(sing);
        System.out.println(sing2);
	}

}





. . .

相关推荐

额外说明

SQL第04章_SQL进阶挑战-01_增删改操作

插入记录 SQL110 插入记录(一) 描述 牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下: 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分

额外说明

【JAVA-Day09】 Java注释详解:一般注释、文档注释与最佳实践

Java注释详解:一般注释、文档注释与最佳实践 Java注释详解:一般注释、文档注释与最佳实践 摘要 引言 一、一般注释 1.1 块注释 1.2 单行注释 1.3 尾端注释 二、文档注释 三、注释的最佳实践 四、总结 参考资料 博主 默语带您 Go to

额外说明

对待难复现难定位的问题,开发人员和测试人员都需要有坚持精神

        一个稳定可用的产品必定是开发人员和测试人员共同努力、共同付出的结果。测试人员要根据规定的需求,尽可能的找出可能的应用场景,尽可能的设计出较全面的测试用例。在测试的过程要有一定的观察力和洞察力,尽可能的抓住出现的异常情况,并对异常进行初步的

额外说明

【C语言】标准内容介绍(C99)

文章目录 C99标准 标准简介 C99移除隐式的int gets_s取代gets 标识的名字、注释、以及新增类型 柔性数组、VLA:、初始化指定元素 restrict、尾随逗号 主函数、变量随时定义、for循环 inline内联函数、可变参数宏、新的标准

额外说明

感悟吧:七天独立完成项目感悟

19年5月份的时候,在学校那边做的,之前忘了发出来 这次是做一个毕业设计,是一个早教系统,客户要求是web为管理员后台,APP为用户,后台只要是my-batis框架,让我难受的是APP我没有写过,可以说是小白了。但还是历时7天完成了,有点小小的成就感。

额外说明

sqlite-jdbc 简介、中文文档、中英对照文档 下载

sqlite-jdbc 文档 下载链接(含jar包、源码、pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 sqlite-jdbc-3.15.1.jar sqlite-jdbc-3.15.1-API文档-中文版.zip sqlite-j

额外说明

Dubbo详解

1.1 Dubbo概述 Dubbo是阿里巴巴开源的基于 Java 的高性能RPC(一种远程调用) 分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里

额外说明

Docker【部署 05】docker使用tensorflow-gpu安装及调用GPU踩坑记录

tensorflow-gpu安装及调用GPU踩坑记录 1.安装tensorflow-gpu 2.Docker使用GPU 2.1 Could not find cuda drivers 2.2 was unable to find libcuda.so D

额外说明

Windows系统文件sti.dll丢失找不到出现错误提示问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个sti.dll文件(挑选合适

ads via 小工具