Un patrón de diseño describe una solución particular a un problema recurrente en un contexto especifico.
- Contexto: Una situación que da lugar a un problema
- Problema: El problema recurrente que se plantea en ese contexto.
- Solución: probada al problema.
Así pues los patrones vienen a ser como caminos seguros, por los cuales transitar cuando se está desarrollando. Hay 3 tipos de patrones de diseño:
- Patrones de creación: Tiene que ver con la creación, inicialización y configuración de clases y objetos.
- Patrones estructurales: Tienen que ver con la separación de la interfaz y el desacoplo de los objetos.
- Patrones de comportamiento: Tienen que ver con la interacción dinámica entre clases y objetos.