В первом случае всё разбросано по всему проекту, во втором - слишком много дублирования названий типа usecase, presenter, view,ui..
1. Группировка по типу объекта.
project
--adapter
--view
--activity
---LoginActivity
---ItemListActivity
--presenter
---LoginPresenter
---ItemListPresenter
--usecase
2. Группировка по области применения
project
-usecase
-entrance
--login
---LoginActivity
---LoginView
---LoginPresenter
---usecase
----LoginUsecase
---AnonymousLoginUsecase
--restorepassword
---RestorePasswordActivity
---RestorePasswordPresenter
---RestorePasswordUsecase
-itemlist
---ItemListAdapter
---ItemListActivity
...
зависит от подмодуля
Лучше по области применения. Специфика в моб. приложениях такая, что у нас все по экранам разделено и очень удобно когда можно посмотреть весь ui и бизнес логику одного экрана.
Обсуждают сегодня