Flutter Tips - 单例

Flutter中的单例模式怎么实现呢?
换句话说,Flutter中我们怎么以标准的姿势实现一个单例呢?
下面我们就开始表演,直接上代码:

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
}

以上,学到了么?希望我们都能有所收获~

喜欢我的可以关注收藏我的个人博客:Ro.bber

你可能感兴趣的:(Flutter Tips - 单例)