Duplicar posible:
What is so bad about Singletons?¿Los Singleton son realmente tan malos?
Es comprensible que muchos patrones de diseño en algunos casos pueden ser objeto de abuso, y al igual que mamá siempre dijo: "Demasiado de algo bueno no es ¡siempre es bueno! "
Me estoy dando cuenta de que en estos días, estoy usando mucho los Singletons, y me preocupa que pueda estar abusando del patrón de diseño yo mismo, y correr dee por y más profundamente en un hábito de mala práctica.
Estamos desarrollando una aplicación Flex que tiene una estructura de datos jerárquica bastante grande guardada en la memoria mientras el usuario trabaja en ella. El usuario puede cargar, guardar, cambiar y actualizar los datos a pedido.
Esta información se centraliza mediante una clase Singleton, que agrega un par de ArrayCollections, Arrays, objetos de valor y algunas otras variables de miembros nativos expuestas a través de getters y setters.
Para obtener una referencia de nuestros datos desde cualquier lugar de la aplicación, hacemos todo el método de método Model.getInstance() que estoy seguro de que todos conocen. Esto garantiza que siempre tengamos en nuestras manos la misma copia de datos, ya que cuando diseñamos, dijimos que solo una vez se permite que exista instancia durante la vida útil de la aplicación.
Desde este repositorio de datos central, es fácil para nosotros, por ejemplo, despachar eventos cambiados de propiedad y puede tener múltiples componentes de UI que hacen referencia a los datos centrales, actualizar sus pantallas para reflejar los cambios de datos que se han producido.
Hasta ahora, este enfoque ha sido eficaz y comprobado muy práctico para nuestras circunstancias.
Estoy encontrando, sin embargo, que estoy un poco ansioso al crear nuevas clases. Preguntas como si una clase fuera un Singleton, o si más bien se administrase de otra manera, como por ejemplo usar una fábrica por ejemplo, a veces se vuelve un poco difícil, con un poco de incertidumbre.
¿Dónde dibujo la línea con singletons? ¿Hay una buena pauta para decidir cuándo usar Singletons y cuándo mantenerse alejado de ellos?
Además, ¿alguien puede recomendar un buen libro sobre patrones de diseño?
Hay una serie de preguntas similares a esto, pero no estoy seguro si alguno de ellos podría considerarse "duplicados exactos" ... – Zifre
3 personas que recomiendan el mismo libro en menos de 5 minutos deben ser un registro. Y una sugerencia :-) – Stu
el problema, en cualquier caso, es el exceso (ab-use) – BlackTigerX