Руководства

Создание слоя данных каталога

Доменный Repository, remote и cache DataSource, преобразование, наблюдение и завершение.

v0.1.0-dev.1Средний уровеньark_data_layer

Создание слоя данных каталога

01

Объявите доменный контракт

Разместите CatalogRepository, CatalogData и доменные сущности в Domain-слое. Предоставьте только текущие данные, их Stream и операции бизнеса вроде synchronize().

02

Объявите технические контракты

Создайте CatalogRemoteDataSource для сетевых записей и CatalogCacheDataSource для локальных. DTO остаются рядом с технической границей, которой они принадлежат.

03

Реализуйте Repository

Разрешите оба контракта в конструкторе. Прочитайте кеш, получите remote-представление, преобразуйте его в доменные сущности, обновите кеш и передайте в setData только доменные данные.

04

Выберите политику конкурентности

Если refresh могут пересекаться, явно выберите сериализацию, отмену старой работы, проверку revision или last-completion-wins. Базовый Repository не угадывает это решение.

05

Соберите и закройте граф

Composition Root создаёт источники, контейнер и Repository. Сначала остановите потребителей, затем закройте Repository и после него — клиентов источников.

ARKTELOS

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