J'utilise le MVC depuis longtemps et j'ai entendu parler de la couche "Service" (par exemple dans un projet web Java) et je me demande s'il s'agit d'un véritable modèle architectural étant donné que je ne trouve pas beaucoup d'informations à ce sujet.
L'idée du 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 être dans le contrôleur. De cette façon, les contrôleurs se contentent de transmettre et de contrôler l'exécution. Et vous pouvez appeler un Service dans de nombreux contrôleurs (par exemple, un site web et un webservice), sans dupliquer le code.
3 votes
"Je me demandais si c'est un vrai motif architectural" ... eh bien, pas plus ou moins réel que d'autres motifs de conception :) Tout est question de choisir l'abstraction qui a le plus de sens - dans ce cas, MVCS semble être une abstraction plus utile que MVC lorsque vous traitez avec une variété de sources de données en amont (modèles de bases de données, autres services Web, etc.), et surtout lorsque vous commencez à réfléchir à l'exposition DE votre travail comme un service. Ce motif m'a beaucoup aidé à réutiliser du code lorsque j'avais une application Web que j'ai ensuite exposée sous forme d'API REST.