Обязанности уровней Service и Repository

Просто пытаясь получить мою голову вокруг обязанностей уровня служб и слоя репозитория при сохранении объекта к моему хранилищу персистентности.

Мой ток под положением - это:

В моем контроллере я создал объект "Примечания" из данных, отправленных пользователем (от формы). Пользователь затем звонит, "Сохраняют" на "NoteService" (который является там через внедрение зависимости).

В рамках метода "Сохранения" на "NoteService" я выполняю свою проверку бизнес-логики и затем передаю объект "Примечания" методу "Сохранения" "NoteRepository".

Метод "Сохранения" "NoteRepository" затем проверяет, чтобы видеть, существует ли существующий первичный ключ на этом объекте и раз так затем get's, которые возражают от дб и обновлений, это - свойства с помощью объекта "Примечания", через который проходят, и он затем сохранил назад к дб. Если нет никакого первичного ключа затем, объект просто сохраняется к дб и тогдашнему возвращенному к сервису с, он недавно создал первичный ключ.

7
задан Gaz 14 June 2010 в 13:35
поделиться

1 ответ

Ваше разделение проблем для меня звучит неплохо. Мы следуем той же схеме, но стараемся добавить еще один слой прямо около слоя репозитория. Мы называем это уровнем домена и выполняем на нем всю нашу бизнес-логику. Уровень нашего сервиса - это просто переход к нашему домену на тот случай, если нам понадобится опубликовать какие-либо наши сервисы в ESB в будущем.

Самым большим преимуществом того, что вы делаете, является то, что вы не загромождаете всю бизнес-логику и логику БД в контроллере, как это делают многие люди. Вы всегда хотите, чтобы ваши контроллеры были как можно более легкими, если вы действительно хотите следовать MVC.

4
ответ дан 7 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: