33 lines
796 B
Dart
33 lines
796 B
Dart
/**
|
||
单例模式(Singleton Pattern)
|
||
|
||
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
|
||
主要解决:一个全局使用的类频繁地创建与销毁。
|
||
何时使用:当您想控制实例数目,节省系统资源的时候。
|
||
如何解决:判断系统是否已经有这个单例,如果有则返回,如果没有则创建。
|
||
*/
|
||
main(List<String> args) {
|
||
var s1 = Singleton();
|
||
var s2 = Singleton();
|
||
print(identical(s1, s2));
|
||
print(s1 == s2);
|
||
}
|
||
|
||
//////////////////////////////////////////////////////////////////
|
||
|
||
///
|
||
/// 实现单例模式
|
||
///
|
||
class Singleton {
|
||
// 单例
|
||
static final Singleton _instance = Singleton._();
|
||
|
||
// 私有构造器
|
||
Singleton._();
|
||
|
||
// 工厂方法
|
||
factory Singleton() {
|
||
return _instance;
|
||
}
|
||
}
|