Dart 工厂模式的使用

310 阅读1分钟

我认为的dart中工厂模式最常用的使用场景是JSON转业务对象 举个例子: 有一串JSON数据:

{
    "name": "twy",

    "phoneNumber": "123123",

    "id": 123
}

如何把这串数据快速转为业务数据:

Student(name: 'twy', phoneNumber: "123123", id: 123)

使用factory函数:

class Student {
  final String ? name;
  final String ? phoneNumber;
  final num ? id;

  Student({
    this.name,
    this.id,
    this.phoneNumber
  });
  
  factory Student.fromJson(Map<String, dynamic> map) {
    return Student(
      name: map['name'],
      phoneNumber: map['phoneNumber'],
      id: map['id']
    );
  }
}

使用factory函数的最大好处是不用每次创建实例,它会从缓存中获取实例。