`
BabyDuncan
  • 浏览: 575608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

单例模式简介

 
阅读更多
单例模式的要点有三个:
一是某个类只能有一个实例;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例。
————————————————
使用单例模式
1、使用Singleton模式有一个必要条件:在一个系统要求一个类只有一个实例时才应当使用单例模式。反过来,如果一个类可以有几个实例共存,就不要使用单例模式;
2、不要使用单例模式存取全局变量。这违背了单例模式的用意,最好放到对应类的静态成员中。
3、不要将数据库连接做成单例,因为一个系统可能会与数据库有多个连接,并且在有连接池的情况下,应当尽可能及时释放连接。Singleton模式由于使用静态成员存储类实例,所以可能会造成资源无法及时释放,带来问题
————————————————————————
在java中,可以使用一下这种方式使用单例模式创建类的实例:
public class Singleton {
private Singleton(){}
   //在自己内部定义自己一个实例,是不是很奇怪?
   //注意这是private 只供内部调用
   private static Singleton instance = new Singleton();
   //这里提供了一个供外部访问本class的静态方法,可以直接访问  
   public static Singleton getInstance() {
     return instance;   
   } 
} 

————————————————————————————
单例模式的应用举例:
我们把单例模式用在系统的日志记录上,我们有一个类用来记录用户的操作日志,那段代码带该是那样写:
Log log = Log.getInstance();
log.Actionlog("用户插入了一条记录");

分享到:
评论

相关推荐

    单例模式简介和java代码实现

    介绍单例模式的概念、特点、优缺点、适用场景和java代码简单实现

    单例模式的多种实现.docx

    单例模式的七种实现方法以及分析,可以作文大作业提交 1.前言 4 1.1 课题的研究背景 4 1.2 课题主要研究目标 4 2.相关技术简介 4 2.1Java简介 4 2.2IDEA简介 4 3. 单例模式的7种实现方式 5 3.1饿汉式(使用静态常量...

    单例模式简介以及C++版本的实现

    本篇博文主要内容参考 C++的单例模式一文,在此,为原作者耐心细致的分析讲解,表示感谢。本文将结合此篇文章,给出自己做实验后的理解以及代码,作为学习的小结。  单例模式,它的意图是保证一个类仅拥有一个实例...

    .Net 单例模式(Singleton)

    每台计算机可以有若干个...(1)单例模式简介: Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户

    PHP基于单例模式编写PDO类的方法

    一、单例模式简介 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务; 二、为什么要使用PHP单例模式?  1、php的应用主要在于数据库应用, 所以一个应用中会存在大量的...

    singleTon单例模式的创建

    单例模式的实现,创建,一个文档作为简介

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

    我们经常遇到这样的场景,线程A和线程B对同一个对象执行操作,但是在A里面new了后,B里面不便取,使的A,B对象是同一个对象,我们就会使用单例模式了。在Android中我们常用于数据库操作,蓝牙命令控制,以及一些工具...

    详解Ruby设计模式编程中对单例模式的运用

     单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有...

    Java设计模式之单例模式

     单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的...

    浅谈C#单例模式的实现和性能对比

    单例指的是只能存在一个实例的类(在C#中,更准确的说法是在每个AppDomain之中只能存在一个实例的类,它是软件工程中使用最多的几种模式之一。在第一个使用者创建了这个类的实例之后,其后需要使用这个类的就只能...

    Java 经典设计模式讲解以及项目实战

    1 单例模式 2 责任链模式 3 策略模式 4 模板方法模式 5 工厂方法模式 6 抽象工厂模式 7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 ...

    浅析php单例模式

    一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设计经验的总结。 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式...

    WeNetwork:Retrofit+OkHttp+Rxjava组合的高性能的网络框架,采用单例模式,支持多BaseUrl,支持动态替换拦截器

    一个OkHttp + Retrofit +Rxjava 组合的高性能、超解耦、动态处理、链式请求、单例模式的网络框架。封装框架的唯一目的就是好用、适用。 支持功能如下: 单例模式,保持一个全局的OkHttp和Retrofit对象。 真正的链式...

    java与模式

    16:单例模式与MX记录;17:多例模式;18:序列健生成器与单例及多例模式;19:建筑模式;20:原始模型模式;21:javabean冷藏和解冻;22:适配器模式;23:缺省适配器模式;24:合成模式;25:装饰模式;26:设计模式在JAVA I/O设计...

    Java与模式.清晰.rar

    第16章 专题:单例模式与MX记录 第17章 专题:多例(Multiton)模式与多语言支持 第18章 专题:序列键生成器与单例及多例模式 第19章 建造(Builder)模式 第20章 原始模型(Prototype)模式 第21章 专题:JavaBean...

    Java与模式(清晰书签版) 设计模式 part3

    第1章 模式的简史和形而上学 第2章 统一建模语言UML简介 第3章 软件的可维护性和可复用性 第4章 开闭原则 第5章 专题 JAVA语言的接口 第6章 专题 抽象类 第7章 里氏代换原则 ...第15章 单例模式 第16章 .......

    PHP高级程序设计-模式-框架-测试

    书中首先从OOP 采用的机制—— 抽象类、接口、契约式编程开始讲起,然后介绍了静态方法、单例模式、工厂模式和PHP 6 的新特性等内容,接着介绍了测试和文档方面的内容,还介绍了标准PHP 库SPL 方面的知识以及PHP ...

    Java与模式

    实用的 java 设计原则 和 设计模式,阅读完本书,可以...第16章 专题:单例模式与MX记录 第17章 专题:多例\(Multiton\)模式与多语言支持 第18章 专题:序列键生成器与单例及多例模式 第19章 建造\(Builder\)模式

Global site tag (gtag.js) - Google Analytics