当前位置: 首页 > 知识库问答 >
问题:

如何在Dart中构建单例?

夏谦
2023-03-14

单例模式确保只创建一个类的实例。我如何在飞镖中建立这个?

共有1个答案

穆修杰
2023-03-14

多亏了Dart的工厂构造器,构建单例很容易:

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

  factory Singleton() {
    return _singleton;
  }

  Singleton._internal();
}

你可以这样构造它

dart prettyprint-override">main() {
  var s1 = Singleton();
  var s2 = Singleton();
  print(identical(s1, s2));  // true
  print(s1 == s2);           // true
}
 类似资料:
  • Dart语言没有枚举(还没有??).至少在语言特性出现之前,构造枚举的正确或惯用方法是什么?

  • 我正在将java脚本移动到dart,在java脚本中我创建了动态变量,例如 我怎么能用飞镖呢?

  • 我试图在数据库助手类中实现单例模式,但是,我似乎无法理解工厂构造函数的目的,以及是否有使用它的替代方法。

  • 我读了这些帖子: 如何在Dart中构建一个单体 如何使用工厂构造函数在Dart中实现单例模式 Dart中的对象结构 我很难理解以下创建单身的方法之间的区别: 1.工厂建造师 2.含有吸气剂的静电场 3.静电场 这些示例如下所示: Günter Zöchbauer对这个问题说: 不需要使用工厂构造函数。当new还不是可选的时,工厂构造函数很方便,因为它适用于构造函数每次返回新实例或类返回缓存实例的类

  • 我有服务器套接字,当我用java访问它时,设置socket.setsolinger(true,0);is工作得很好。我试图用dart实现java客户机代码,但我一直得到一个错误。此外,获取错误也需要时间。飞镖应该是快的! 在java中,我将套接字打开为socketOut=new DataOutPutStream(socket.getOutputStream());和socketIn=new Dat

  • 我是Dart和Flutter的新手。当我学习教程时,我了解到我们可以使用工厂关键字制作单例。但在那之后,我得到了这个代码。 我的问题。 代码是如何工作的 何时调用<code>getInstance() 是是构造函数吗