J'utilise MVC depuis longtemps et j'ai entendu parler de la couche "Service" (par exemple dans Java)) et je me demandais si cela est un modèle architectural réel étant donné que je ne trouve pas beaucoup d'informations à ce sujet.
L'idée de MVCS est d'avoir une couche de service entre le contrôleur et le modèle, pour encapsuler toute la logique métier qui pourrait se trouver dans le contrôleur. De cette façon, les contrôleurs sont juste là pour transmettre et contrôler l'exécution. Et vous pouvez appeler un service dans de nombreux contrôleurs (par exemple, un site Web et un service Web), sans dupliquer le code.
La couche de service peut être interprétée de nombreuses façons, mais c'est généralement là que vous avez votre logique de traitement métier principale, et se situe en dessous de votre architecture MVC, mais au-dessus de votre architecture d'accès aux données.
Par exemple, votre couche d'un système complet peut ressembler à ceci:
La couche service serait alors responsable de:
Votre modèle que vous utilisez dans votre MVC peut ou non provenir de vos services. Vous voudrez peut-être prendre les résultats que votre service vous donne et les manipuler dans un modèle plus spécifique à votre support (par exemple: une page Web).
J'avais pensé à ce modèle moi-même sans voir aucune référence à cela ailleurs et j'ai recherché Google et trouvé votre question ici :)
Même aujourd’hui, il n’ya pas beaucoup d’organes qui parlent ou publient des
Modèle de service de View-Controller.
Pensé pour vous faire savoir que d'autres pensent la même chose et l'image ci-dessus est la façon dont je vois comment cela devrait être.
Actuellement, je l'utilise dans un projet sur lequel je travaille actuellement.
Je l'ai dans des modules avec chaque couche dans l'image ci-dessus avec dans son propre module autonome.
La couche Services est le "connecteur" "intermédiaire" "contrôleur côté serveur" en ce que ce que le contrôleur côté "client" fait pour le client, le "service" pour le serveur.
En d'autres termes, le "contrôleur" côté client "ne parle" qu'avec le "service" alias contrôleur côté serveur.
Contrôleur ---> Demandes et réception de la couche de service <-----
La couche Service récupère ou fournit des informations aux couches côté serveur qui en ont besoin.
En soi, le Service ne fait rien d'autre que de connecter les couches serveur avec ce dont elles ont besoin.
Voici un exemple de code: