Tal como hablé en otro post, tenemos 2 conceptos: Patrones Arquitectónicos y Patrones de Diseño de Software. Me enfocaré en este último en esta serie de post.
Los patrones de diseño son soluciones habituales a problemas frecuentes en el desarrollo de software. Siempre me ha encantado la analogía, el cual dice, que son como planos para construir un puente, en donde, se considera:
- El tráfico de personas o vehículos
- condiciones climáticas
- el entorno geográfico
- etc.
¿En qué consiste un patrón?
- Propósito: Explica el problema y la solución.
- Motivación: Explica en detalle el problema y la solución brindada.
- Estructura: Indica una estructura de clases y su relación.
- Código: Es un ejemplo para facilitar la asimilación.
Clasificación de los patrones
- Patrones Creaciones: Ofrecen mecanismos para creación de objetos y facilitan la flexibilidad y reutilzación de código.
- Patrones Estructurales: Explican como se ensamblan los objetos y clases para mantener la flexibilidad y eficiencia
- Patrones de Comportamiento: Buscan una comunicación efectiva y la asignación de responsabilidades entre los objetos.