Déterminer la responsabilité des conditions de traitement dans les requêtes complexes : couche de service vs. mappeur de données
Dans la poursuite de la récupération et de la manipulation des données, la question se pose : qui doit supporter la charge de gérer des conditions de requête complexes - le mappeur de données ou la couche de service ?
Le mappeur de données
Le modèle de mappeur de données dicte une interface simple , les principales responsabilités étant la récupération, la sauvegarde et la suppression des données. Cependant, les détails de sa mise en œuvre restent sujets à interprétation.
Malgré son interface minimaliste, le mappeur de données peut être étendu pour incorporer une certaine logique conditionnelle, comme la récupération d'objets en fonction d'identifiants spécifiques ou de noms d'auteurs.
La couche service
La couche service, quant à elle, agit comme intermédiaire entre le contrôleur et le mappeur de données. Il peut alléger la complexité de la gestion de plusieurs conditions en appelant directement des méthodes plus spécifiques, telles que BookDataMapper->getByAuthorAndPublisher().
Avantages de la gestion des conditions de la couche de service
Certains préconisent que la couche de service analyse les conditions de requête pour plusieurs raisons :
Avantages de la gestion des conditions du mappeur de données
D'autres préfèrent centraliser la logique conditionnelle au sein du mappeur de données :
Approche optimale
L'approche optimale dépend de l'application spécifique et de la logique spécifique au domaine. Cependant, quelques directives générales peuvent être envisagées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!