`
BabyDuncan
  • 浏览: 584435 次
  • 性别: 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("用户插入了一条记录");

分享到:
评论

相关推荐

    连接数据库单例模式

    #### 单例模式简介 单例模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种模式通常用于那些需要频繁创建和销毁对象会带来较大性能开销的情况,例如线程池、缓存、对话框、...

    单例模式详解

    #### 一、单例模式简介 单例模式(Singleton Pattern)是一种常用的软件设计模式,属于创建型模式之一。其目的是确保某个类只有一个实例,并提供一个全局访问点。单例模式的核心在于确保在系统运行期间一个类只能有...

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

    单例模式是软件设计中常用的一种模式,它的核心在于限制类的实例化次数,保证全局只有一个实例,并提供统一的访问接口。单例模式在很多场景下非常有用,如日志记录器、配置管理器等。然而,它也存在一些缺点,如违反...

    OC单例模式讲解

    #### 一、单例模式简介 单例模式是设计模式中的一种,属于创建型模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。在Objective-C (简称OC)中,单例模式非常常用,尤其是在需要对资源进行统一管理...

    几种单例模式说明(并有实例)

    ### 单例模式简介 单例模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供一个全局访问点。在多线程环境下,单例模式可以避免对资源的重复加载,降低系统的内存开销,提高系统性能。单例模式通常分为...

    线程安全的单例模式

    #### 一、单例模式简介 单例模式(Singleton Pattern)是软件开发中最常用的创建型设计模式之一,它的主要目标是确保一个类只有一个实例,并提供一个全局访问点。单例模式在很多场景下都非常有用,例如系统配置管理...

    ActionScript 3.0里使用单例模式

    #### 一、单例模式简介 在软件工程领域,设计模式是一套被广泛接受的解决特定问题的解决方案模板。其中,“单例模式”是一种常用的创建型设计模式,它保证一个类仅有一个实例,并提供一个全局访问点。在...

    使用Java单例模式实现一个简单的日志记录器.txt

    #### 一、单例模式简介 单例模式是一种常用的软件设计模式,在该模式中,一个类只能创建一个实例,并且提供了一个全局访问点来访问该实例。单例模式的主要优点包括减少系统资源的消耗、简化系统配置、提供统一的...

    单例 单例模式.txt

    #### 一、单例模式简介 单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。单例模式通常用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量资源...

    java之单例模式

    #### 一、单例模式简介 单例模式是设计模式中较为常见的一种,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在实际开发中有着广泛的应用场景,比如系统配置管理、日志对象、线程池、数据库连接等。 #...

    C#单例模式

    #### 单例模式简介 单例模式是软件工程设计模式中的一种,其核心在于确保一个类仅有一个实例存在,并且提供一个全局访问点供外部调用。在C#中实现单例模式,通常是为了控制资源的访问,例如数据库连接、日志记录器...

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

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

    java单例模式

    #### 一、单例模式简介 单例模式是Java设计模式中最为基础且应用广泛的设计模式之一。它确保一个类仅有一个实例被创建,并提供一个全局访问点供系统中的其他对象获取该实例。单例模式在实际开发中具有多种实现方式...

    JAVA单例模式

    #### 一、单例模式简介 单例模式是设计模式中最简单的一种模式,其目的是确保某一个类只有一个实例存在,并且该类能够自行创建这个实例。这种模式通常用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗...

    java 使用单例模式计算某一年(默认今年)一共有多少个周,以及列出每一周和其所对应的时间段(内含注释)

    #### 单例模式简介 单例模式是一种常用的软件设计模式,在整个应用中确保某个类只有一个实例存在,并提供一个全局访问点。这种模式常用于创建那些希望在整个系统中只存在一个实例的对象,例如日志管理器、配置管理器...

    java 采用单例模式计算当年有多少个周,并列出所有周以及每一个周所对应的时间段(内含注释)

    ### 一、单例模式简介 单例模式是一种常用的软件设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点。在本示例中,`CycleDate` 类采用了单例模式,确保在整个程序运行过程中只有一个 `CycleDate` ...

    .Net 单例模式(Singleton)

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

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

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

Global site tag (gtag.js) - Google Analytics