Предположим, у вас есть сущности, сервисный уровень и репозитории (с ORM, как NHibernate).Интерфейсы взаимодействуют с уровнем обслуживания.
Какие типы кодов подходят для уровня обслуживания?
Координация хранилища?
Похоже, сущности не должны ссылаться на хранилище , поэтому должны ли существовать вызовы для загрузки / сохранения / выселения сущностей на уровне обслуживания?
Бизнес-логика, которая включает в себя хранилища?
Если вышеприведенное верно, следует ли что-то вроде проверки, является ли имя пользователя отличным, перейти на уровень обслуживания (т.е. вызвать GetUsersByUsername и проверить результаты)?Прежде чем предположить, что БД должна обрабатывать разные данные, как насчет проверки того, что пароль не использовался в течение 90 дней?
Бизнес-логика, включающая несколько объектов?
Я не уверен насчёт этого, но скажу, что у вас есть необходимость применить операцию к совокупности сущностей, которые могут или не могут быть связаны и на самом деле не применимы к одной сущности.Должны ли сущности быть в состоянии работать с этими коллекциями, или они принадлежат к уровню обслуживания?
Отображение?
Используете ли выDTO или отправьте свои сущности на / с вашего уровня обслуживания, вы, скорее всего, в конечном итоге сопоставления (желательно с AutoMapper).Это относится к сервисному уровню?
Я ищу подтверждение (или отклонение) идей, перечисленных выше, а также любые другие мысли об ответственности сервисного уровня при работе с сущностями /хранилища.