Должны ли методы RepositoryPattern давать сбой? - PullRequest
1 голос
/ 02 апреля 2020

У меня есть клиентское приложение сбора данных, которое собирает и затем публикует свои данные в базе данных через REST API. API REST может отклонять данные, если они недействительны.

Клиентская часть У меня есть интерфейс IRestAPIService с конкретной реализацией, которая позволяет мне получить доступ к серверу API REST. Остальной части моего приложения не нужно знать, что это HTTP-соединение, и я решил создать интерфейс / класс IDataRepository / DataRepository с простым методом PutData (DomainObject), который, в свою очередь, использует IRestApiService.

Тогда Я понял, что мои вызовы REST API могут, конечно, завершиться ошибкой из-за проблем с соединением или быть отклонены из-за проверки данных. Я вижу два решения этого:

1) Я раскрываю сбойные операции REST API некоторым обобщенным c способом (репозиторий, который выдает или возвращает ошибки). Это позволяет мне абстрагироваться от специфики REST API. Однако это навязывает обработку ошибок пользователям этой службы.

2) В хранилище имеется внутренний буфер данных, в который всегда можно записать данные. Либо сам класс репозитория, либо другой класс может затем активно использовать этот буфер данных, отправляя его в REST API и сигнализируя о корректировке данных, если данные недействительны.

Есть мысли?

...