Android 在为片段实现“工厂”模式时,是否始终必须指定参数,即使没有使用参数?

Android 在为片段实现“工厂”模式时,是否始终必须指定参数,即使没有使用参数?,android,android-fragments,Android,Android Fragments,当需要创建带有特定参数的片段时,我理解需要使用在包中传递这些参数的工厂模式,而不是创建非默认构造函数,因为它们可以根据系统的指示被拆除和重新创建。我想知道的是,如果你没有传递任何参数,你还需要为它们创建一个新的包吗,或者你可以跳过它吗 i、 而不是这个 public static MyFragment newInstance() { MyFragment fragment = new MyFragment(); Bundle args = new Bundle();

当需要创建带有特定参数的片段时,我理解需要使用在包中传递这些参数的工厂模式,而不是创建非默认构造函数,因为它们可以根据系统的指示被拆除和重新创建。我想知道的是,如果你没有传递任何参数,你还需要为它们创建一个新的包吗,或者你可以跳过它吗

i、 而不是这个

public static MyFragment newInstance() {

    MyFragment fragment = new MyFragment();

    Bundle args = new Bundle();
    fragment.setArguments(args);

    return fragment;
}
允许这样做吗

public static MyFragment newInstance() {
    return new MyFragment();
}
public static MyFragment newInstance() {
    return new MyFragment();
}
事实上,在那些我保证永远不需要参数的情况下,完全不使用工厂模式而只是根据需要更新片段是可以接受的做法吗,还是仍然应该添加它以保持一致性

作为跟进,在需要工厂方法的情况下,是否有一致或推荐的名称?我已经看到了以下所有内容:

刚出现的 新实例 新片段 创造 createFragment createInstance createItem 允许这样做吗

public static MyFragment newInstance() {
    return new MyFragment();
}
public static MyFragment newInstance() {
    return new MyFragment();
}
当然。无需创建和分配空参数包

在那些我保证永远不需要参数的情况下,完全不使用工厂模式,而只是根据需要更新片段,这是可以接受的做法吗

当然。您提到的模式对您和开发人员来说只是一种方便,它也有助于确保您始终指定必要的信息。当您不需要任何参数时,只需自己调用默认构造函数就可以了

您可以争辩说,始终使用newInstance方法可能更好,这样您的团队就不会对是否使用静态工厂方法或构造函数感到困惑,但这是您和/或您的团队应该做出的决定;没有禁止使用构造函数的规则

是否有一致或推荐的名称


就我个人而言,我比其他人看到的newInstance多得多,但我不相信有任何明确的标准。

我同意“不要混淆团队”这一部分。我有点希望Android能够通过保护片段构造函数,以某种方式强迫它,尽管我知道为什么它们不这样做。