Где создать объект хранилища в приложениях для Android? - PullRequest
0 голосов
/ 22 мая 2019

Как и где вы создаете объект репозитория в своих приложениях для Android?

Реализуете ли вы свой репозиторий как синглетон? Это статический класс?

Я пытаюсь использовать подход с одним действием:

App structure

Очевидно, я хочу использовать один и тот же репозиторий в каждой ViewModel. Но какой подход вы выбрали или какой имеет больше смысла, чтобы ваш репозиторий существовал только один раз и имел к нему доступ отовсюду?

В примерах для разработчиков Android они создают объект репозитория в основной деятельности, потому что им нужен объект приложения для создания репозитория. Но в этом примере вы не можете получить к нему доступ отовсюду и можете создать несколько по одной и той же причине, например обработка SQL.

1 Ответ

0 голосов
/ 22 мая 2019

Читали ли вы это руководство, Руководство по архитектуре приложения ?Я думаю, что это ответило бы на большинство ваших вопросов.

На самом деле вы не должны обращаться к репозиторию из везде , но из ViewModels или даже лучше из UseCases (Domain layer, посмотрите на CleanАрхитектура).

ViewModel делегирует процесс выборки данных новому модулю, хранилищу.Модули репозитория обрабатывают операции с данными.Они предоставляют чистый API, так что остальная часть приложения может легко получить эти данные.Они знают, откуда взять данные и какие вызовы API следует выполнять при обновлении данных.Вы можете рассматривать хранилища как посредники между различными источниками данных, такими как постоянные модели, веб-службы и кэши.

, а для управления зависимостями между компонентами вы можете использовать некоторые библиотеки DI.

...