Обязанности уровней обслуживания и репозитория
Просто пытаюсь разобраться с обязанностями уровня обслуживания и уровня хранилища при сохранении объекта в моем хранилище сохраняемости.
Мое понимание сейчас таково:
В моем контроллере я создал объект «Примечание» из данных, предоставленных пользователем (из формы). Затем пользователь вызывает «Сохранить» на «NoteService» (который существует посредством внедрения зависимости).
В методе «Сохранить» в «NoteService» я выполняю проверку бизнес-логики, а затем передаю объект «Примечание» методу «Сохранить» в «NoteRepository».
Затем метод «Сохранить» в «NoteRepository» проверяет, существует ли существующий первичный ключ для этого объекта, и если да, то получает этот объект из БД и обновляет его свойства, используя переданный объект «Примечание», а затем сохраняет вернуться к БД. Если первичного ключа нет, то объект просто сохраняется в БД, а затем возвращается в службу со вновь созданным первичным ключом.