Проблема структуры проекта (MVP): слой данных

Я пишу приложение для Android, используя шаблон MVP. Мой вопрос касается слоя базы данных. Я хочу сделать его максимально независимым, чтобы в будущем его можно было заменить чем-то другим без изменения кода в Presenter. Я решил использовать чистый SQLite без ORM, так как пользовательская таблица обновляется в разных местах с помощью разных полей (в одном месте я обновляю имя пользователя, в другом месте код - токен и т. Д.). ORM (я использовал realm) не позволяет это делать, вы должны написать отдельный метод для обновления имени, отдельный - для токена и т. Д. Другая проблема связана с ContentValues: при обновлении пользователя вы должны указать поля, которые вы хотите изменить через ContentValues в Presenter, а затем звонит Presenter repository.updateUserLocal(contentValues), так что мой Presenter зависит от слоя данных (если я решил добавить ORM в проект, мне нужно будет перейти к каждому Presenter и удалить ContentValues). Так что архитектура плохая. Подскажите, пожалуйста, как лучше организовать архитектуру приложения?

0 ответов

Другие вопросы по тегам