在非常多设计模式中。我相信大多数程序员最早接触的设计模式就是单例模式啦,当然了我也不例外。

单例模式应用起来应该是全部设计模式中最简单的。单例模式尽管简单,可是假设你去深深探究单例模式,会涉及到非常多非常多知识。我会继续更新这篇文章的。单例模式在整个系统中就提供了一个对象,然后整个系统都去使用这一个对象,这就是单例的目的。

一、饱汉式单例:

public class Singleton {    /**  * 单例对象实例  */    private static Singleton instance = null;    public static Singleton getInstance() {    if (instance == null) {                     instance = new Singleton();           }    return instance;    }    }

二、饿汉式单例:

public class Singleton {    /**  * 单例对象实例  */    private static Singleton instance = new Singleton();    public static Singleton getInstance() {    return instance;    }    }

这两种单例在实际的代码中,往往是不能满足要求的。这就须要我们依据自己的需求来改写这些单例模式,

比如:假设创建的单例对象须要其它參数。这个时候,我们就须要这样改写:

public class Singleton {    /**  * 单例对象实例  */    private static Singleton instance = null;    public static Singleton  getInstance(Context context) {  if (instance == null) {  instance = new Singleton(context);  }  return instance;  }}

比如:资源共享情况下。必须满足多线程的并发訪问。这个时候,我们就应该这么做:

public class Singleton {    /**  * 单例对象实例  */    private static Singleton instance = null;    public synchronized static Singleton getInstance() {    if (instance == null) {    instance = new Singleton();    }    return instance;    }    }

事实上不管什么条件下,不管怎么改变。都是这两种单例模式的变种!

!!。

转载于:https://www.cnblogs.com/zfyouxi/p/5342219.html

Android设计模式(1)----单例模式相关推荐

  1. android 单例模式的使用场景,android设计模式之单例模式

    (其实设计模式应该从属于java,但是会专门针对android做相应的解释,所以就取名为android设计模式~) 一.单例模式的介绍 单例模式是应用最广的模式之一,在应用这个模式的时候,单例对象的类 ...

  2. Android设计模式之——单例模式

    一.介绍 单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系 ...

  3. android中的单例模式,Android中的单例模式

    定义: 单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 使用场景: 确保某一个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一 ...

  4. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  5. Android设计模式——单例模式(Singleton)

    二十三种设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元 ...

  6. java/android 设计模式学习笔记(1)---单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  7. java/android 设计模式学习笔记目录

    其实很早就想开始总结设计模式了,无奈刚刚换完工作,工作太忙,平时周末也太懒,难得提起精神写一点,估计时间会花的很长,不过还是自己加油吧~~. 学习笔记,顾名思义,其实就是我在平时看书,工作的笔记而已, ...

  8. java/android 设计模式学习笔记(8)---桥接模式

    这篇博客我们来介绍一下桥接模式(Bridge Pattern),它也是结构型设计模式之一.桥接,顾名思义,就是用来连接两个部分,使得两个部分可以互相通讯或者使用,桥接模式的作用就是为被分离了的抽象部分 ...

  9. java/android 设计模式学习笔记(3)---工厂方法模式

    这篇来介绍一下工厂方法模式(Factory Method Pattern),在实际开发过程中我们都习惯于直接使用 new 关键字用来创建一个对象,可是有时候对象的创造需要一系列的步骤:你可能需要计算或 ...

  10. Android设计模式

    android开发中使用到的一些设计者模式-  http://blog.csdn.net/xiangzhihong8/article/details/28593827 引用: http://m.blo ...

最新文章

  1. Xamarin XAML语言教程Progress属性设置进度条进度
  2. python简单代码hello-python教程——【1 hello, python】
  3. js代码实现购物车效果
  4. python中matplotlib关于直方图AttributeError: ‘Rectangle‘ object has no property ‘normed‘的解决方法
  5. 64位Ubuntu kylin 16.04使用fastboot下载内核到tiny4412开发板
  6. UVa 1600 Patrol Robot (习题 6-5)
  7. Visual Stdio 注册表相关路径
  8. 本机Windows远程操作虚拟机Windows界面
  9. html alt 作用,什么是alt标签的作用,alt标签对SEO有哪些影响呢?
  10. 计算机如何安装无线网络适配器,无线网卡驱动怎么安装?电脑无线网卡驱动2种安装方法...
  11. 禁止用鼠标拖动窗口的大小 - 回复 合肥的石头 的问题
  12. 按教师名单分配学生抽签程序
  13. 带sex的net域名_域名劫持的几种方法、域名劫持有什么方式
  14. 不接受反驳,性能最强,功能最强的Java日志框架
  15. linux下关于浏览器的软件包,火狐浏览器Linux系统版
  16. 现在流行的网络直播都需要什么设备?
  17. ubuntu中如何修改计算机名字
  18. STM32F429i disco 体验
  19. 2023年的COSO,会有什么不一样?
  20. Mysql出现问题:ERROR 1091 (42000): Can‘t DROP ‘**‘; check that column/key exists解决方案

热门文章

  1. 32岁程序员推拿一小时差点丧命!医生说按错这个地方
  2. 后浪说不,是时代的进步
  3. 苹果发布会预示了什么?
  4. Python在运维工作中的经典应用之ansible
  5. python中的进程(二)
  6. ThreadLocal总结(jdk1.8源码)
  7. selenium自动化测试配置工具整理
  8. vscode过滤pyc文件
  9. 软件系统架构师大概工作过程
  10. CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序