美文网首页Flutter
Flutter单例写法

Flutter单例写法

作者: xmb | 来源:发表于2019-05-29 13:48 被阅读0次
    • 使用方式
    UserManager.instance.user
    或
    new UserManager().user
    
    • 具体实现
    import 'package:moka_flutter/pages/login/model/user.dart';
    // 用户单例
    
    class UserManager {
      // 如果一个函数的构造方法并不总是返回一个新的对象的时候,可以使用factory,
      // 比如从缓存中获取一个实例并返回或者返回一个子类型的实例
    
      // 工厂方法构造函数
      factory UserManager() => _getInstance();
    
      // instance的getter方法,通过UserManager.instance获取对象
      static UserManager get instance => _getInstance();
    
      // 静态变量_instance,存储唯一对象
      static UserManager _instance;
    
      // 私有的命名式构造方法,通过它可以实现一个类可以有多个构造函数,
      // 子类不能继承internal不是关键字,可定义其他名字
      UserManager._internal() {
        // 初始化
        user = new User(false, "", "", "", "", false, "", false, "", "");
      }
      
      // 获取对象
      static UserManager _getInstance() {
        if (_instance == null) {
          // 使用私有的构造方法来创建对象
          _instance = new UserManager._internal();
        }
        return _instance;
      }
      
      // 用户对象
      User user;
    }
    

    相关文章

      网友评论

        本文标题:Flutter单例写法

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