Los patrones de diseño son soluciones reutilizables a problemas comunes en el desarrollo de software. Surgieron en los años 90 al identificar que muchos proyectos enfrentaban desafíos similares que podían resolverse con enfoques ya probados.
Se dividen en tres tipos principales:
Patrones de creación: ayudan a crear objetos de forma flexible (ej.: Factory Method, Builder, Singleton).
Patrones estructurales: organizan objetos para mejorar su interacción y reducir el acoplamiento (ej.: Adapter, Facade, Composite).
Patrones de comportamiento: definen cómo los objetos se comunican y actúan (ej.: Observer, Command, Strategy).
Usarlos mejora la calidad del código, haciéndolo más claro, reutilizable y fácil de mantener.