zoukankan      html  css  js  c++  java
  • 设计模式——单例模式(Singleton)

    最近做项目的时候遇到一个问题,就是一个设置界面设置某一个属性的时候我们在整个应用程序中只能有一个设置界面的实例存在。于是就去学习了一下单例模式,然后将其记录下来了。

    简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。

    特别注意:

    一、单例模式是用来实现在整个程序中只有一个实例的。

    二、单例类的构造函数必须为私有,同时单例类必须提供一个全局访问点。

    三、懒汉式和饿汉式单例类。

    在Java中,单例模式(饿汉模式)应用的例子如下述代碼所示:

      public class Singleton {
        private static Singleton INSTANCE = new Singleton();
     
        // Private constructor suppresses 
        // default public constructor
        private Singleton() {}
     
        public static Singleton getInstance() {
            return INSTANCE;
        }
      }
    

    Java中,单例模式(懒汉模式)应用的例子如下述代碼所示:

     //这个方法比上面的有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率

      public class Singleton {
        private static Singleton INSTANCE = null;
     
        // Private constructor suppresses 
        // default public constructor
        private Singleton() {}
     
        public static synchronized Singleton getInstance() {
            if(INSTANCE == null){
            INSTANCE = new Singleton(); 
            }
            return INSTANCE;
        }
      }
  • 相关阅读:
    css 如何让背景图片拉伸填充避免重复显示
    CDHtmlDialog 基本使用
    RES协议
    Sata win7 热插拔(AHCI)
    __argc和__argv变量
    MFC进度条刷新处理
    SVN强制注释
    自动build服务器 CruiseControl.NET
    opencv Mat 像素操作
    std::string 用法
  • 原文地址:https://www.cnblogs.com/tanlon/p/2189795.html
Copyright © 2011-2022 走看看