美文网首页Flutter入门实践flutter
001.4 flutter如何创建一个单例对象

001.4 flutter如何创建一个单例对象

作者: 码农二哥 | 来源:发表于2020-04-04 16:30 被阅读0次

How To Create A Singleton in Dart

第一种写法(会用一种就好)

借助dart提供的工厂构造函数,可以很方便的创建一个单例对象

class Singleton {
  // 这样写就行了,别问为什么,我也不知道,慢慢理解
  static final Singleton _singleton = Singleton._internal();

  // Use the factory keyword when implementing a constructor that doesn’t always create a new instance of its class.
  // For example, a factory constructor might return an instance from a cache, or it might return an instance of a subtype.
  factory Singleton() => _singleton;

  Singleton._internal(); // private constructor
}

main() {
  var s1 = Singleton();
  var s2 = Singleton();

  print(identical(s1, s2));  // true
  print(s1 == s2);           // true
}

第二种写法(如果别人这样写,能读懂代码就OK)

Another way is to use a static field that use a private constructor. This way it is not possible to create a new instance using Singleton(), the reference to the only instance is available only through the instance static field.

class Singleton {
  Singleton._privateConstructor();

  static final Singleton instance = Singleton._privateConstructor();
}

main() {
  var s1 = Singleton.instance;
  var s2 = Singleton.instance;

  print(identical(s1, s2));  // true
  print(s1 == s2);           // true
}

相关文章

  • 001.4 flutter如何创建一个单例对象

    How To Create A Singleton in Dart 第一种写法(会用一种就好) 借助dart提供的...

  • iOS 单例模式 - 单例对象销毁【GCD】

    单例对象的创建方式 单例.h 文件的实现 单例的.m 文件的实现 单例对象的销毁【GCD创建的方式】 使用单例对象...

  • iOS 单例模式 - 单例对象销毁【@synchronized】

    单例对象的创建方式 单例.h 文件的实现 单例.m 文件的实现 单例对象的销毁【@synchronized创建方式...

  • 设计模式--单例模式

    单例模式 一个类只能有一个对象。该类自己负责创建对象,同时确保只有一个对象被创建。 单例类只能有一个实例 单例类必...

  • 单例模式、异常、模块

    单例模式 创建单例-保证只有1个对象 创建单例时,只执行1次init方法 目的 —— 让 类 创建的对象,在系统中...

  • 单例模式

    一、定义与特点 单例模式的特点 单例类只有一个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单...

  • 单例模式

    特点 单例类只有1个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单例的全局访问点 结构 单例...

  • 设计模式之单例模式

    单例模式 单例模式用来创建全局唯一的对象。一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种设计...

  • 设计模式之单例模式

    1.单例模式 单例模式用来创建全局唯一的对象。一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种...

  • 单例设计模式

    单例介绍 1、什么是单例?单例的意思是一个类永远只能存在一个对象,不能创建多个对象 2、为什么要用单例?开发中有很...

网友评论

    本文标题:001.4 flutter如何创建一个单例对象

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