Где в шаблоне репозитория проходит проверка валидации?

Допустим, у меня есть объект под названием "Пользователь", у которого много сообщений. Моя служба при удалении сообщения выглядит так:

void DeletePost(int postId, int userId);

Куда идет мой код проверки? (убедитесь, что у пользователя есть разрешение для удаления). Следует ли мне сделать это в репозитории с 1 вызовом базы данных? Или мне следует выполнить эту проверку на уровне службы, где я делаю 2 вызова:

  1. Получить пользователя по userId.
  2. Вызвать удаление после того, как проверка была сделано для пользователя.

У меня будет 2 репозитория, 1 для пользователя и 1 для сообщений, каждый из которых будет выглядеть так:

// From the PostRepository.
void Delete(int postId); //May have to add a userId param if I do validation in repository
//From the UserRepository.
User GetUser(int userId);
12
задан Shawn Mclean 4 January 2011 в 21:38
поделиться