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