Вземете този прост, измислен пример:
UserRepository.GetAllUsers(); UserRepository.GetUserById();
Неизбежно ще имам по-сложни "запитвания", като например:
//returns users where active=true, deleted=false, and confirmed = true
GetActiveUsers();
Имам проблем да определя къде свършва отговорността на хранилището. GetActiveUsers() представлява проста "заявка". Мястото му в хранилището ли е?
Какво ще кажете за нещо, което включва малко логика, като например:
//activate the user, set the activationCode to "used", etc.
ActivateUser(string activationCode);