Flutter Tips - 单例

作者: Ro_bber | 来源:发表于2020-06-16 16:58 被阅读0次

    Flutter中的单例模式怎么实现呢?
    换句话说,Flutter中我们怎么以标准的姿势实现一个单例呢?
    下面我们就开始表演,直接上代码:

    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;
      }
    }
    
    main() {
      // 无论如何初始化,取到的都是同一个对象
      Manager manager1 = new Manager();
      Manager manager2 = Manager.instance;
      Manager manager3 = new Manager();
      Manager manager4 = Manager.instance;
      print(identical(manager1, manager2)); //true
      print(identical(manager1, manager3)); //true
      print(identical(manager3, manager4)); //true
    }
    

    以上,学到了么?希望我们都能有所收获~

    喜欢我的可以关注收藏我的个人博客:Ro.bber

    相关文章

      网友评论

        本文标题:Flutter Tips - 单例

        本文链接:https://www.haomeiwen.com/subject/kjyrxktx.html