У меня есть поток, подобный этому:
Repository
вводится с Datasource
. ViewModel
вводится с Repository
.
Поскольку существует постоянный поток Предметов и Мутаций (удалений, изменений), которые необходимо преобразовать в пользовательский интерфейс, я не храню коллекцию предметов в Репозитории. Поэтому у меня появилось хранилище, которое передает только элементы между источником данных и моделями представления.
Я всегда понимал, что вам не следует напрямую использовать источник данных на уровне пользовательского интерфейса (ViewModels находятся на моем уровне пользовательского интерфейса). Но так ли это, если вы используете внедрение зависимостей? Я использую шаблон Repository для использования или это просто приводит к накладным расходам? (Прямо сейчас кажется, что так и есть.)
Изначально я реализовал репозиторий для разделения пользовательского интерфейса и источника данных, но обнаружил, что DI отлично работает без репозитория.