Últimamente he comenzado a pensar que tener muchas clases de gerentes en su diseño es algo malo. La idea no ha madurado lo suficiente como para hacer un argumento convincente, pero aquí hay algunos puntos generales:
Descubrí que es mucho más difícil para mí comprender los sistemas que dependen en gran medida de los "gerentes". Esto se debe a que, además de los componentes reales del programa, también debe comprender cómo y por qué se utiliza el administrador.
Los gerentes, muchas veces, parecen ser utilizados para aliviar un problema con el diseño, como cuando el programador no pudo encontrar una manera de hacer que el programa Just Work TM y tuviera que confiar en las clases de gerentes para que todo funcionara correctamente.
Por supuesto, los pesebres pueden ser buenos. Un ejemplo obvio es una EventManager
de mis construcciones favoritas de todos los tiempos. : P Mi punto es que los gerentes parecen estar sobreutilizados la mayor parte del tiempo, y por ninguna otra razón que no sea enmascarar un problema con la arquitectura del programa.
¿Son realmente las clases de gerentes un signo de mala arquitectura?
EventManager
Es un nombre horrible para una clase. Aparentemente hace algo con los eventos, pero ¿qué ?
Of course, mangers can be good. An obvious example is an EventManager
explica todo allí. Un mal uso del concepto es mala arquitectura, pero hay casos de uso legítimos. Lo mismo es cierto para casi cualquier cosa.