Dart单例的四种写法

落花浮王杯 提交于 2019-12-17 10:25:51

dart中的单例

工厂构造 Factory constructor

class Singleton{

  Singleton._privateConstructor();

  static final Singleton _instance = Singleton._privateConstructor();

  factory Singleton(){
    return _instance;
  }

}

void main() {
	Singleton s = Singleton();
}

静态变量 Static field with getter

class Singleton{

  Singleton._privateConstructor();

  static final Singleton _instance = Singleton._privateConstructor();

  static Singleton get instance { return _instance;}

}

void main() {
	Singleton s = Singleton.instance;
}

静态变量Static field

class Singleton {

  Singleton._privateConstructor();

  static final Singleton instance = Singleton._privateConstructor();

}

void main() {
	Singleton s = Singleton.instance;
}

常量和工厂构造 const constructor & factory

class Singleton {
  factory Singleton() =>
    const Singleton._internal_();
  const Singleton._internal_();
}


void main() {
  print(new Singleton() == new Singleton());
  print(identical(new Singleton() , new Singleton()));
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!