最近学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;