Я пытаюсь придумать архитектуру для моего BaseFragment. Вот что я сделал до сих пор:
public abstract class BaseFragment<V extends BaseViewModel> extends Fragment {
private ViewModel viewModel;
onAttach(Context context) {
super.onAttach(context)
viewModel = (T) ViewModelProviders.of(getActivity() , new BaseViewModel.Factory(getActivity())).get(getViewModelClass());
// viewModel.registerView(getViewImpl());
}
}
и когда я создаю любой новый фрагмент, я делаю так:
public class SomeFragment extends BaseFragment<SomeViewModel> {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
Все хорошо, но что если я захочу создать Frgament, где мне не нужен ViewModel? Должен ли я удалить аргументы ограниченного типа из BaseFragment и зарегистрировать ViewModels в их соответствующем фрагменте? Если так, то в чем заключается точка, имеющая аргументы ограниченного типа в BaseFragment, это недостаточно детально.