Je pense que je commence à être confus avec le travail d'un contrôleur dans MVC.ASP.NET MVC - Travail des contrôleurs
J'ai un service qui expose cinq fonctions:
- liste des paquets dans la file d'attente
- package get
- package suppression
- accepter paquet
- nier paquet
Mon Le contrôleur ASP.NET MVC dépend de ce service, et ca n exécute généralement un appel de service sur une action. Je suis heureux jusqu'à présent.
La deuxième partie est ensuite la construction du résultat ViewModel. Si je fais cela à l'intérieur du contrôleur, le contrôleur a maintenant une liste de dépendances qui explosent - chaque action ajoutée augmente les dépendances afin de construire le modèle de vue, et celles-ci sont toutes héritées par le contrôleur. Je n'aime pas ça beaucoup. Je construis ce contrôleur qui dépend de N différents constructeurs de modèles de vue, mais en utilisant seulement un d'entre eux par demande. J'ai donc pensé à extraire tout cela et à appliquer des filtres d'action spécifiques à chaque modèle de vue. Je n'ai pas encore fait ça, mais ça semble aller.
La question que cela soulève pour moi est: quelle est la responsabilité du contrôleur? Si je finis par extraire le modèle de vue dans des filtres, mon contrôleur ne fait qu'un peu plus qu'une route qui exécute un appel de service (et fournit un plugin de filtre). Si je laisse plutôt mon contrôleur responsable de la construction de chaque modèle de vue, cela devient un gâchis.
Il semble que je veuille presque instancier une action par requête, pas un contrôleur, et j'utilise juste des filtres pour y arriver?
Cette question a besoin de quelques exemples de code. –