Prenez cet exemple simple, artificiel:Objet de référentiel, de service ou de domaine - d'où vient la logique?
UserRepository.GetAllUsers(); UserRepository.GetUserById();
Inévitablement, je vais avoir plus complexes « requêtes », telles que:
//returns users where active=true, deleted=false, and confirmed = true
GetActiveUsers();
Je vais avoir du mal à déterminer où la responsabilité du dépôt se termine. GetActiveUsers() représente une simple "requête". Appartient-il du référentiel?
Que diriez-vous quelque chose qui implique un peu de logique, comme:
//activate the user, set the activationCode to "used", etc.
ActivateUser(string activationCode);
En réponse à votre dernier paragraphe: Que faire si "persister le changement" est la seule logique. par exemple. ActivateUser() met simplement à jour un enregistrement dans la table User et un enregistrement dans la table ActivationCode. Est-ce que cela constitue une "logique"? Si non, que fait-il? – betitall