另一个“哪个更好”的问题,我知道这些都是主观的。我更好的定义是:
所有Android蓝图均按功能使用:
https://github.com/googlesamples/android-architecture
/tasks
/addedittask
/taskdetail
和所有体系结构组件样本均逐层使用:
https://github.com/googlesamples/android-architecture-components
/db
/model
/ui
/persistence
我很困惑,因为在Architecture Components网站的底部,它实际上具有指向Android MVP和MVVM蓝图示例的链接,在我看来这是矛盾的。
答案 0 :(得分:1)
我认为这取决于项目规模。同样在不同的公司中,团队使用不同的方法。
我更喜欢在软件包管理的小型项目second type中使用。
如果要重用ModelView组件,只需将它们放在功能包中。也许是这种类型:
/db
feature1/
feature2/
/model
feature1/
feature2/
/ui
/persistence
feature1/
feature2/
答案 1 :(得分:0)
基于Android Architecture guide和Clean Architecture,我建议采用这种方法
data/
model/
remote/
local/
Repository
domain/
usecases/
GetUserListUseCase
presentation/
screen1/
screen1Activity
screen1Fragment
screen1ViewModel
screen2/
screen2Activity
screen2Fragment
screen2ViewModel
core
common/
di/
更多内容:https://www.toptal.com/android/android-apps-mvvm-with-clean-architecture