¿Hay alguna diferencia entre nombrar una clase "Handler", "Manager" o "Controller"? IE: PurchaseManager
, PurchaseHandler
, PurchaseController
.
¿Estos suficientes transmiten el mismo significado o hay una clara diferencia entre ellos?
Si no hay una respuesta independiente del lenguaje, considere Java como el lenguaje.
Respuestas:
Por lo general, un "controlador" es la interfaz entre un componente de interfaz de usuario y un modelo (por ejemplo, compra). Los controladores deben ser clases delgadas, haciendo poco más que mapear eventos de interfaz de usuario para modelar funciones.
Un "gerente" es un olor a código. La compra debe administrarse sola, o podría ser administrada por una clase propietaria, como un vendedor o un comprador.
Un 'controlador' suele ser una función única envuelta en un objeto. Estos son necesarios cuando se programa en lenguajes heredados sin funciones de primera clase.
fuente
Si bien mi respuesta no se basa en la definición, veo algo etiquetado como "Controlador" como una implementación exclusiva frente a un " Controlador " como inclusivo . Esperaría ver solo una existencia de un "PurchaseController" y múltiples versiones posibles de un "PurchaseHandler".
Creo que otro nombre común para Controller es "Broker", que altera ligeramente la perspectiva.
fuente