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? Informe 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 le 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.