Los patrones de diseño son las mejores prácticas formalizadas que un programador puede utilizar para resolver problemas comunes al diseñar una aplicación o sistema.
Los patrones de diseño pueden acelerar el proceso de desarrollo al proporcionar paradigmas de desarrollo probados y comprobados.
La reutilización de patrones de diseño ayuda a prevenir problemas sutiles que causan errores importantes, y también mejora la legibilidad del código para desarrolladores y arquitectos que están familiarizados con los patrones.
Este sitio presenta los patrones de diseño en Java. Las soluciones han sido desarrolladas por programadores y arquitectos experimentados de la comunidad de código abierto. Los patrones se pueden buscar por sus descripciones de alto nivel o mirando su código fuente. Los ejemplos de código fuente están bien comentados y pueden pensarse como tutoriales de programación sobre cómo implementar un patrón específico. Usamos las tecnologías Java de código abierto más populares.
Antes de sumergirte en el material deberías estar familiarizado con varios Principios de diseño de software.
Todos los diseños deben ser lo más simples posible. Deberías comenzar con los principios KISS, YAGNI y hacer lo mas simple que funcione. La complejidad y los patrones solo deben introducirse cuando sean necesarios para una extensibilidad práctica.
Una vez que esté familiarizado con estos conceptos, puedes comenzar a profundizar con los patrones de diseño disponibles por cualquiera de los siguientes enfoques
- Buscar un patrón específico por su nombre. ¿No puedes encontrar uno? Informa de un nuevo patrón aquí.
- Usando etiquetas como
Performance
,Gang of Four
óData access
. - Usando categorías de patrones,
Creational
,Behavioral
y otras.
Esperamos que las soluciones orientadas a objetos presentadas en este sitio te resulten útiles en sus arquitecturas y se divierta aprendiéndolas tanto como nosotros desarrollándolas.
Si estás dispuesto a contribuir al proyecto encontrarás la información relevante en nuestra wiki del desarrollador. Te ayudaremos y responderemos tus preguntas en la sala de chat de Gitter.
Este proyecto esta licenciado de acuerdo con los términos de la licencia del MIT.