代码之家  ›  专栏  ›  技术社区  ›  Denis Sablukov

工厂构造函数相对于独立的工厂类或函数有什么优势?

  •  0
  • Denis Sablukov  · 技术社区  · 7 年前

    我刚开始学习DART,我想知道 factory constructor 在独立的工厂类或函数上?

    当我们添加新的派生类时,我们需要在抽象类内部更改工厂方法,如果我们有它的代码就可以了,但是如果它附带了库工厂构造函数,它就变得无用了?

    或者有某种机制可以用派生类的信息更新工厂方法?如果是这样,请分享一个例子。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kevin Moore    7 年前

    factory 让您返回子类型,这非常有用。

    例如,你可以 factory MyClass.empty => const _EmpytMyClass() 并返回一个没有存储的简单实现。

    如果您想要类的规范实例,也可以使用它返回缓存值。

    您也可以使用 工厂 调用方法以创建实例。请参见这里: https://github.com/dart-lang/json_serializable/blob/4033f6ad4e3c96bc2ed16d93c0995e11fcfe42df/example/lib/example.dart#L29

    推荐文章