我认为的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函数的最大好处是不用每次创建实例,它会从缓存中获取实例。