美文网首页
1.单例设计模式

1.单例设计模式

作者: gerg_peng | 来源:发表于2016-11-23 21:47 被阅读5次

简介

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

优点:

  1. 简单,全局只有一个一个对象,方便控制和修改属性。
  2. 从某种程度上说消耗资源少,毕竟只需要创建一次。

缺点:

  1. 单例设计模式虽然简单,但对于一些不严谨的代码容易出现内存泄露问题;例如:activity中创建一个内部类,作为一个单例对象的listener,如果在activity销毁时,没有将此listener置空,就会出现leak。
  2. 当然还有其它的问题,比如在activity的生命周期中有对单例对象进行操作,可能出现后面的activity执行了oncreate方法,前一个activity又执行到ondestory方法,当然这种情况是不适合使用单例模式的。

使用

单例设计模式的两个实现方式:

  • 饿汉式

    /// <summary>
    /// 饿汉模式
    /// </summary>
    public class Singleton
    {
      //私有的构造器
      private Singleton()
      {
      }
      //私有的静态实例
      private static Singleton instance = new Singleton();
    
      public static Singleton GetInstance()
      {
          return instance;
      }
    }
    
  • 懒汉式
    /// <summary>
    /// 懒汉模式
    /// </summary>
    public class Singleton2
    {
    //私有的构造器
    private Singleton2()
    {
    }

      //私有的静态实例
      private static Singleton2 instance = null;
    
      public synchronized static Singleton2 GetInstance()
      {
          if (instance==null)                
          {
              instance=new Singleton2();
          }
          return instance;
      }
    }
    

相关文章

  • 设计模式

    设计模式简介 单例设计模式 问题:单例设计模式是什么?为什么要学它?怎么用它? 1.定义:单例模式(Singlet...

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • 设计模式(二)——创建型模式

    一、 单例模式 1. 什么是单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模...

  • 单例模式

    1. 单例模式 在面向对象的程序设计中, 单例模式是最简单的设计模式,这种类型的设计模式属于创建型模型,所谓单例....

  • 面试题总结

    1.单例设计模式的实现,为什么使用单例模式?? static MusicManager ...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 设计模式之一:单例模式

    摘要:设计模式之一:单例模式目录介绍1.单例模式介绍2.单例模式定义3.单例模式使用场景4.单例模式的实现方式 4...

  • 基础-单例模式

    单例模式总结-Python实现 面试里每次问设计模式,必问单例模式 来自《Python设计模式》(第2版) 1.理...

  • IOS学习笔记之单例

    单例介绍 1.什么是单例 说到单例首先要提到单例模式,因为单例模式是单例存在的目的 单例模式是一种常用的软件设计模...

网友评论

      本文标题:1.单例设计模式

      本文链接:https://www.haomeiwen.com/subject/ugbvpttx.html