为什么Dart的Datetime.parse不是工厂构造函数?

Mic*_*ick 4 dart

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

我提出的理论是反映int.parse不是构造函数或允许更容易链接的事实(您不需要使用静态方法的级联运算符).但也许还有另一个原因,我没想到.有谁知道为什么他们没有使它成为命名构造函数?

Flo*_*sch 5

对于Uri.parse的相同更改的更多解释:http://permalink.gmane.org/gmane.comp.lang.dart.general/17081

"解析"很特别.问题是:您是否将解析视为执行操作并最终为您提供结果的操作,或者您是否将字符串视为构建新元素的数据.如果你看到它更早,那么"解析"应该是一个静态函数.如果您将字符串视为数据,那么它应该是一个命名构造函数.

然后,当然,有一致性.