flutter 中factory(构造方法上的唯一对象) 与单例模式

Posted Mars-xq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter 中factory(构造方法上的唯一对象) 与单例模式相关的知识,希望对你有一定的参考价值。

参考:
Flutter 中的单例模式

当你需要构造函数不是每次都创建一个新的对象时,使用factory关键字。

Flutter中,dart的单例模式设计,创建一个单例的Manager类:

class Manager 
  // 工厂模式 : 单例公开访问点
  factory Manager() => _getInstance();

  static Manager get instance => _getInstance();

  // 静态私有成员,没有初始化
  static Manager _instance;

  // 私有构造函数
  Manager._internal() 
    // 初始化
  

  // 静态、同步、私有访问点
  static Manager _getInstance() 
    if (_instance == null) 
      _instance = new Manager._internal();
    
    return _instance;
  


main() 
  // 无论如何初始化,取到的都是同一个对象
  Manager manager1 = new Manager();
  Manager manager2 = Manager.instance;
  Manager manager3 = new Manager();
  Manager manager4 = Manager.instance;
  print(identical(manager1, manager2)); //true
  print(identical(manager1, manager3)); //true
  print(identical(manager3, manager4)); //true


以上是关于flutter 中factory(构造方法上的唯一对象) 与单例模式的主要内容,如果未能解决你的问题,请参考以下文章

Android-ViewModel原理解析

构造器与工厂方法的差别

如何在 Flutter 小部件中测试回调函数

带有 Flutter 的 Firebase 中的唯一用户名

faker之python构造虚拟数据

抽象工厂模式(Abstract Factory)