gpt4 book ai didi

android - 如果方法使用不重叠,2 个 Activity 是否应该有单独的 ViewModel?

转载 作者:行者123 更新时间:2023-11-29 23:31:51 25 4
gpt4 key购买 nike

我有 1 个 Activity 显示删除 Notes 来自回收 View 。我还有另一个 Activity,它 添加更新 新项目。

目前他们都使用相同的 ViewModel 类:

public class NoteViewModel extends AndroidViewModel {
private NoteRepository repository;
private LiveData<List<Note>> allNotes;

public NoteViewModel(@NonNull Application application) {
super(application);
repository = new NoteRepository(application);
allNotes = repository.getAllNotes();
}

public void insert(Note note) {
repository.insert(note);
}

public void update(Note note) {
repository.update(note);
}

public void delete(Note note) {
repository.delete(note);
}

public void deleteAllNotes() {
repository.deleteAllNotes();
}

public LiveData<List<Note>> getAllNotes() {
return allNotes;
}
}

我是否应该创建 2 个单独的 ViewModels,每个 Activity 一个?

最佳答案

这取决于您是要更简单的可维护性还是更清晰的关注点分离

为两个 Activity 使用一个 ViewModel 并没有错,但考虑到 ViewModel 应该建模 View
在 ViewModel 中拥有 Activity A 未使用的某些功能,以及 Activity B 未使用的其他功能,并不真正符合ViewModel 应该是 View 功能的模型.

我的建议是两个单独的 ViewModel。

关于android - 如果方法使用不重叠,2 个 Activity 是否应该有单独的 ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com