Как добавить удаленное хранилище данных в хранилище данных во время выполнения, если пользователь решает войти в систему? - PullRequest
0 голосов
/ 13 сентября 2018

enter image description here

У меня есть хранилище, которое зависит от локального хранилища данных (кеша) и работает для неаутентифицированных пользователей.

Если пользователь, не прошедший проверку подлинности, входит в систему, мне нужно добавить удаленное хранилище данных в существующее хранилище данных и расширить функциональность хранилища данных, чтобы сначала извлекать данные из удаленного хранилища и рассматривать кеш как запасной вариант. Если пользователь выходит из системы, мне нужно удалить удаленное хранилище данных и снова использовать кеш.

Я читал о шаблоне декоратора, но все еще борюсь с этим.

Как добавить зависимость удаленного хранилища данных в хранилище данных во время выполнения, если пользователь решает войти в систему?

Диаграмма ниже может помочь проиллюстрировать.

UserDataRepository является реализацией и агрегацией UserRepository.

UserDataRepository всегда зависит от локального хранилища данных.

Если пользователь входит в систему UserDataRepository, требуется зависимость UserRemoteDataStore.

...