Y a-t-il une différence entre nommer une classe "Handler", "Manager" ou "Controller"? IE: PurchaseManager
, PurchaseHandler
, PurchaseController
.
Ces suffrages véhiculent-ils le même sens ou existe-t-il une nette différence entre eux?
S'il n'y a pas de réponse indépendante du langage, considérez Java comme langage.
Réponses:
Habituellement, un «contrôleur» est l'interface entre un composant d'interface utilisateur et un modèle (par exemple, achat). Les contrôleurs doivent être des classes minces, ne faisant guère plus que de mapper les événements de l'interface utilisateur aux fonctions de modèle.
Un «Manager» est une odeur de code. L'achat doit se gérer lui-même, ou il peut être géré par une classe propriétaire, comme le vendeur ou l'acheteur.
Un «gestionnaire» est généralement une fonction unique enveloppée dans un objet. Ceux-ci sont nécessaires lors de la programmation dans des langages hérités sans fonctions de première classe.
la source
Bien que ma réponse ne soit pas basée sur la définition, je considère quelque chose étiqueté comme un "contrôleur" comme une implémentation exclusive par rapport à un "gestionnaire" comme inclusif . Je m'attendrais à voir une seule existence d'un "PurchaseController" et plusieurs versions possibles d'un "PurchaseHandler".
Je pense qu'un autre nom commun pour Controller est "Broker" - ce qui modifie légèrement la perspective à ce sujet.
la source