【发布时间】:2014-02-18 18:48:58
【问题描述】:
Dart 样式指南 建议使用 constructors instead of static methods to create instances,因为 Dart 中的“命名构造函数和工厂构造函数为您提供了静态方法的所有灵活性其他语言,同时仍允许调用站点像常规构造函数调用一样显示"。
那么,将int.parse() 和double.parse() 声明为静态方法而不是工厂构造函数是否有技术原因?
更一般地说,在 Dart 中选择编写工厂构造函数而不是静态(工厂)方法的准则是什么?
【问题讨论】:
-
是的,这似乎有点不一致。从这个角度来看,
new int.fromString()会更有意义。虽然int.parse()感觉更自然。 -
这很可能是另一种出于性能目的的特殊处理,但这只是胡乱猜测。
-
@MarioP:是的,我想这是有道理的。但是,我希望编译器在优化方面足够好,不需要这种特殊处理。
-
@ronag 事实证明我错了。 “感觉更自然”实际上更接近;-)
标签: constructor dart static-methods factory factory-method