zoukankan      html  css  js  c++  java
  • 单例模式

    一. 概念简述:

    在软件开发中我们最常用的一个设计模式也许就是单例模式了,单例模式也是所有设计模式中最简单的,单例模式指的是一个类有且只能创建一个实例对象。


    二. 实现思路:

    1. 定义私有静态变量mInstance,mInstance类型为当前类的对象,用来持有单例唯一的实例;

    2. 将构造方法定义为private,使外界不能随意调用来创建该类的对象;

    3. 定义一个静态的公共方法getInstance(),在此方法中调用该类私有的构造方法。

    三. 具体实现:

    从实现思路看以看出单例模式的具体实现方法不止一种.

    1.懒汉式

      懒汉式指的是该类的对象在第一次真正使用的时候去创建,直接上代码,

     1  public class SingleInstance{
     2     private static SingleInstance mInstance;
     3     private SingleInstance(){
     4     }
     5     pulic static SingleInstance getInstance(){
     6           if(mInstance == null){
     7               mInstance = new SingleInstance();  
     8           }
     9           return mInstance;
    10     }
    11  }

    2. 饿汉式
      饿汉式是该类单例的实例在该类加载的时候就创建,饿汉式代码如下:

    1 public class SingleInstance{
    2     private static SingleInstance mInstance = new SingleInstance();
    3     private SingleInstance(){
    4     }
    5     public static SingleInstance getInstance(){
    6         return mInstance;  
    7     }  
    8 }
    • 饿汉式问题:

        1. 如果该类的构造方法中有较多的操作处理,这时饿汉式将会导致该类的加载比较慢,往往影响程序的性能;

    •        2. 如果该类进行了加载,在短时间内并没有使用的话则会占用内存,造成资源的浪费。

     

     

  • 相关阅读:
    传统 Ajax 已死,Fetch 永生
    redux-thunk, redux-logger 阮一峰 ( react中间件 )
    flow类型检查
    svn删除项目
    svn导入项目
    ubantu搭建svn
    惠普uefi装系统
    win7跳过登陆界面
    phpstorm配置Xdebug进行调试PHP教程
    jquery 给下拉框赋值
  • 原文地址:https://www.cnblogs.com/changjl/p/4695782.html
Copyright © 2011-2022 走看看