Android设计模式之单例模式解析-创新互联

在日常开发过程中时常需要用到设计模式,但是设计模式有23种,如何将这些设计模式了然于胸并且能在实际开发过程中应用得得心应手呢?和我一起跟着《Android源码设计模式解析与实战》一书边学边应用吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、姑苏网站维护、网站推广。

今天我们要讲的是单例模式

定义

确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例


使用场景

确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源
某个类型的对象只应该有一个


使用例子

  • 应用的Application
  • 图片加载框架对象,比如我们的ImageLoader,常用的图片加载框架Glide,universal-image-loader等
  • 数据请求管理类,比如可以用一个类来统一所有的数据请求处理,访问数据库,网络请求等,这样的类肯定只需要一个实例

实现

实现的要点

  • 构造函数不对外开放,必须为Private(就是不能用New的形式生成对象)
  • 通过一个静态方法或者枚举返回单例对象
  • 确保单例类的对象有且只有一个,尤其是在多线程环境下
  • 确保单例类对象在反序列化时不会重新创建对象

常见的实现方式

饿汉单例模式

public class Singleton {
  private static final Singleton singleton = new Singleton();
  //构造函数私有化
  private Singleton() {
  }
  //公有的静态函数,对外暴露获取单例对象的接口
  public static Singleton getInstance() {
    return singleton;
  }
}

名称栏目:Android设计模式之单例模式解析-创新互联
文章起源:http://azwzsj.com/article/ddiegs.html