Parfois, nous avons une logique métier représentée dans le code du contrôleur de nos applications. C'est généralement une logique qui différencie les méthodes à appeler du modèle et / ou les arguments pour les transmettre.
Un autre exemple de ceci est un ensemble de fonctions utilitaires existant dans le contrôleur qui peuvent fonctionner pour formater ou nettoyer les données renvoyées par le modèle, en fonction d'un ensemble de règles de gestion.
Cela fonctionne, mais je me demande s’il flirte avec le désastre. S'il existe une logique métier partagée entre le contrôleur et le modèle, les deux couches ne sont plus séparables et une personne héritant du code peut être déconcertée par cette inégalité de localisation du code associé à la logique métier.
Ma question est la suivante: dans quelle mesure la logique métier doit-elle être autorisée dans le contrôleur et dans quelles circonstances, le cas échéant?