Разница между хранилищем и сервисом?

Какая разница между репозиторием и сервисом? Кажется, я не понимаю.

Я говорю о доступе к данным через уровень доступа к данным, обычно с linq в sql.

Очень часто я вижу репозитории с простыми методами CRUD и услугами с более специфичными для бизнеса методами.

В качестве примера можно взять этот блог. Если вы посмотрите на интерфейсы внизу (изображения), у него есть два репозитория и две службы. Как узнать, что положить туда?

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

Спасибо

Ответ 1

Репозиторий - это, по сути, фасад для сохранения, который использует семантику стиля Collection (Add, Update, Remove) для обеспечения доступа к данным/объектам. Это способ развязки способа хранения данных/объектов из остальной части приложения.

Координация поставок услуг или другие "услуги", необходимые для работы вашего приложения. Они отличаются друг от друга тем, что Сервисы обычно не знают, как обращаться к данным с сохранением, а репозитории обычно получают доступ только к данным/объектам для любых служб, которые у вас могут быть.

Ответ 2

В хранилище хранятся данные. Служба - это то, что манипулирует данными.

В сравнении с ситуацией в реальном мире, если ваши деньги хранятся в хранилище в банке, хранилище является хранилищем. Кассиром, который откладывает, снимает и т.д., Является услуга.

Ответ 3

Я бы сказал, как первая попытка, в общем смысле (пока вы не дадите больше контекста, если у вас есть):

  • a репозиторий - это место, где вы размещаете некоторые глобальные объекты, которые будут использоваться позже.
  • a служба - это код бизнес-логики, явно выраженный (и идеально отделенный от уровня представления и уровня базы данных?)