最近学Flutter,百度了一下午也没搜到Dart语言的单例怎么写,最后去看一个NotificationCenter的库的源码,才找到单例写法,经测试可用,贴一下代码。
Flutter中,dart的单例模式设计
创建一个单例的Manager类
class Manager {
// 工厂模式
factory Manager() =>_getInstance()
static Manager get instance => _getInstance();
static Manager _instance;
Manager._internal() {
// 初始化
}
static Manager _getInstance() {
if (_instance == null) {
_instance = new Manager._internal();
}
return _instance;
}
}
调用
// 无论如何初始化,取到的都是同一个对象
Manager manager = new Manager();
Manager manager2 = Manager.instance;