Dart-通过映射构造函数实例化泛型类型

Dart-通过映射构造函数实例化泛型类型,dart,flutter,Dart,Flutter,您不能在Dart中实例化泛型类型,也不能在颤振中使用镜像。但是,可以在闭包中将类型映射到它们的构造函数 在处理手写类时,这对于JSON序列化之类的东西可能很有用,特别是当数据源以多种形式返回相同的数据形状时,例如Future或Stream 问题:这是一种有效的模式吗?是否存在任何潜在的缺点?更好的选择 类狗{} 类别Cat{} 地图模型={ 狗:()=>狗(), 猫:()=>猫() }; 类数据库{ T数据; 数据库(){ data=models[T]();//我喜欢它。一个明显的缺点是,Dat

您不能在Dart中实例化泛型类型,也不能在颤振中使用镜像。但是,可以在闭包中将类型映射到它们的构造函数

在处理手写类时,这对于JSON序列化之类的东西可能很有用,特别是当数据源以多种形式返回相同的数据形状时,例如
Future
Stream

问题:这是一种有效的模式吗?是否存在任何潜在的缺点?更好的选择

类狗{}
类别Cat{}
地图模型={
狗:()=>狗(),
猫:()=>猫()
};
类数据库{
T数据;
数据库(){

data=models[T]();//我喜欢它。一个明显的缺点是,
Database
只适用于特定类型,您需要保持相应的
Map
更新,但我看不到解决方法。名为“Cat”的数据库?哪些数据表包含数据库“Cat”?