使用静态方法代替使用json_serializable的工厂

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用静态方法代替使用json_serializable的工厂相关的知识,希望对你有一定的参考价值。

有没有理由使用json_serializable我应该使用工厂构造函数而不是静态方法?

我需要使用静态方法,但我想知道它的缺点

答案

在这里使用factory有用途:

它迫使您定义

factory算作一个构造函数,因此,如果定义至少一个,则没有隐式构造函数:

class Foo {
  factory Foo.fromJson() {
    return Foo(); // Doesn't compile
  }
}

反对:

class Foo {
  static Foo.fromJson() {
    return Foo(); // compiles
  }
}

以上是关于使用静态方法代替使用json_serializable的工厂的主要内容,如果未能解决你的问题,请参考以下文章

Effective Java读书笔记创建和销毁对象:考虑使用静态工厂方法代替构造器

第1条:考虑用静态工厂方法代替构造器

考虑用静态工厂方法代替构造器的场景

第1条:考虑用静态工厂方法代替构造器

用静态工厂方法代替构造器遇到多个构造器参数时要考虑用构建器

Effective Java -- 用静态工厂方法来代替构造器