dart 单例模式

201 阅读1分钟
class Manager {
  static String _name;
  // 工厂模式
  factory Manager(name) => _getInstance(name);
  static Manager get instance => _getInstance(_name);
  static Manager _instance;
  Manager._internal(name) {
    // 初始化
    _name = name;
  }
  static Manager _getInstance(name) {
    if (_instance == null) {
      _instance = new Manager._internal(name);
    }
    _name = name;
    return _instance;
  }

  void getname() {
    print('_name:$_name');
  }
}
  Manager manager = Manager('name');
  Manager manager2 = Manager.instance;