为什么Dart';s Datetime.parse不是工厂构造函数吗?

为什么Dart';s Datetime.parse不是工厂构造函数吗?,dart,Dart,Dart的Datetime类有许多命名构造函数,但Datetime.parse()不是其中之一。相反,DateTime.parse()是一个返回日期时间的静态方法。对我来说,它作为一个构造函数是有意义的(因为您正在以一种与DateTime.utc()构造函数没有太大区别的方式生成一个新的DateTime对象) 我提出的理论反映了int.parse不是构造函数的事实,或者允许更简单的链接(您不需要将级联运算符与静态方法结合使用)。但也许还有另一个我没有想到的原因。有人知道为什么没有将其作为命名构造

Dart的Datetime类有许多命名构造函数,但
Datetime.parse()
不是其中之一。相反,
DateTime.parse()
是一个返回日期时间的静态方法。对我来说,它作为一个构造函数是有意义的(因为您正在以一种与
DateTime.utc()
构造函数没有太大区别的方式生成一个新的DateTime对象)


我提出的理论反映了
int.parse
不是构造函数的事实,或者允许更简单的链接(您不需要将级联运算符与静态方法结合使用)。但也许还有另一个我没有想到的原因。有人知道为什么没有将其作为命名构造函数吗?

有关Uri.parse的相同更改的更多说明:

“parse”是特殊的。问题是:您是否将解析视为 做某事并最终给出结果的操作,或 您可以将字符串视为构造新元素的数据。如果你看到了 与前面一样,“parse”应该是一个静态函数。如果你看到 字符串作为数据,那么它应该是一个命名的构造函数


当然,还有一致性。

有趣的是,它曾经是一个工厂构造函数new DateTime.fromString(),并被显式更改为我们现在使用的静态解析: