Dart用工厂构造方法写单例

更新时间:2023-05-25 21:55

由于Dart拥有工厂构造方法,因此构建单例模式很容易。

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

  factory Singleton() {
    return _singleton;
  }

  Singleton._internal();
}

我们可以使用new来构造代码如下:

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



java中实现单例加深理解

public class SingleObject {
  //创建 SingleObject 的一个对象
  private static SingleObject instance = new SingleObject();  
  //让构造函数为 private,这样该类就不会被实例化
  private SingleObject(){}
  //获取唯一可用的对象
  public static SingleObject getInstance()
  {
    return instance;
  }
  public void showMessage()
  {
    System.out.println("Hello World!");
  }
}

步骤 2

//获取唯一可用的对象 SingleObject object = SingleObject.getInstance();
//显示消息 object.showMessage();