singleton模式确保一个类只创建一个实例.如何在Dart中构建这个?

推荐答案

多亏了DART的factory constructors,很容易构建一个Singleton:

class Singleton {
  static final Singleton _singleton = Singleton._internal();

  factory Singleton() {
    return _singleton;
  }

  Singleton._internal();
}

你可以这样建造它

main() {
  var s1 = Singleton();
  var s2 = Singleton();
  print(identical(s1, s2));  // true
  print(s1 == s2);           // true
}

Dart相关问答推荐

ListView 不会刷新,而附加列表会刷新 (Flutter)

将Card添加到 ListView

Flutter 错误:主体可能正常完成,导致返回null,但返回类型可能是不可为空的类型

什么时候在 Dart 中使用interfaces接口?

Angular Dart 和 Polymer Dart 的区别

如何防止意外发布私有 pub 包

如何在 Dart 单元测试中模拟或验证打印调用?

Flutter-ExpansionTile 在点击时展开和折叠

StreamBuilder 会在无状态小部件中自动关闭流吗?

在dart polymer重复模板中获取索引

在 Windows 10 中使用 Android Studio 时没有Remove Widget选项

dart:类构造函数被标记为const是什么意思

如何在控件边框(border()/阴影(shadow)中添加霓虹灯效果?

我如何在屏幕上弹出特定的Flutter

'Future' 的实例而不是显示值

你如何在 Dart 中将月份的日期格式化为11th、21st或23rd?

'dart:async' 的函数 `runZoned` 的用途

一个集合如何确定两个对象在dart中相等?

Dart,对泛型的限制?

使用 Futures 时 .then() 和 .whenCompleted() 方法之间的区别?