quizás un poco fuera de tema, pero creo que también cubre tu pregunta: te sugeriría un buen libro Refactoring to Patterns :
Este libro introduce la teoría y
practica de patronaje
Refactorizaciones: secuencias de bajo nivel.
refactorizaciones que permiten a los diseñadores
mover con seguridad los diseños a, hacia, o
lejos de las implementaciones de patrones .
Usando código de proyectos del mundo real,
Kerievsky documenta el pensamiento y
pasos que subyacen más de dos docenas
Transformaciones de diseño basadas en patrones.
A lo largo del camino él ofrece ideas sobre
diferencias de patrones y cómo
Implementar patrones en el más simple.
formas posibles.
encontrará ejemplos cuando los patrones de diseño son buenos para usar, así como cuando necesita salir de ellos, no complicar demasiado la aplicación. Y sí, la idea principal es mantener todo lo más simple posible.
La buena respuesta / consejo para su pregunta se encuentra en el artículo ¿Reconoce las 4 Señales de advertencia tempranas del diseño Abuso de patrón? , pero no puedo cargarlo ahora, error 500. No es tan grande, así que solo usé Google Cache para obtenerlo. :
Los patrones de diseño de software pueden llevar a una ingeniería excesiva
La ingeniería excesiva es el proceso de
por complicar algo En el
Caso de programación, haciendo tu código.
Más complejo y posiblemente más.
Flexible de lo que necesita ser. Más
específicamente, implementando complejos
patrones de diseño de software en simple
problemas.
1. Comience simple no complejo
¿Cómo sucede esto? Usualmente tu
programa en funcionalidad extra que
Usted anticipa que será utilizado o probado
para ser útil más tarde. Pero que pasa
¿Si esta necesidad nunca se materializa? En
La mayoría de los casos, el crucero se queda allí.
No se elimina. Entonces el
sistema de software sigue creciendo en
Tamaño y complejidad con todos estos.
características que nunca se están utilizando.
2. Tenga cuidado con las señales
Esto es quizás diferente para todos
pero sospecho que en la mayoría de los casos, no es
Realmente un esfuerzo consciente. Sino más bien
Es algo producido por el
miedo de ser atrapado con un torpe,
Inelegante, inapropiado o simplemente
puesto, mal diseño; estar atrapado con
algo que simplemente no es flexible
suficiente. Irónicamente, si llegas a la
punto de sobre ingeniería o más
aplicando patrones estas de vuelta
donde empezaste.
Los patrones de diseño de software apelan a
programadores o desarrolladores porque
Permitir que se expresen naturalmente y
Crea bellas arquitecturas. Es un
parte de disfrutar de la programación creativa.
3. Considere refactorizar un patrón en lugar de comenzar desde uno
¿Cuál podría ser una buena manera de evitar esto?
diseño patrón de abuso? Considerar
refactorización a un patrón en lugar de
a partir de uno. No empieces
tratando de forzar un patrón en tu
diseño. Es probable que su diseño pueda
Ser mucho más simple sin él. Si lo haces
Encuentra en una etapa posterior que tu diseño.
Realmente podría beneficiarse de un estructurado
patrón, luego refactorizar para permitir
eso. Cuando diseñas, resuelve el problema.
De la forma más sencilla posible. Sencillo
software ligero es siempre una buena
cosa. Hay mejores maneras de
evitando la ingeniería insuficiente
alternativa donde te quedas atascado con una
diseño o solución que simplemente no es
lo suficientemente flexible o no se adapta a la
problema.
4. No te obligues a hacerlo bien la primera vez
Forzando patrones de diseño de software o
estructuras en el diseño simplemente no es el
respuesta, eso es simplemente mal diseño. Pero
Prototipando o construyendo una inicial.
build0 (prueba de concepto construir antes
producción en el producto real
comienza) puede ayudar a evitar esto y la
problema de sobre-ingeniería. Porque
no sientes que tienes que conseguirlo
perfectamente bien la primera vez.