Los patrones de diseño son un conjunto de técnicas utilizadas para resolver un problema en específico. Dentro del mundo del desarrollo de software, nos sirven para poder refinar componentes de un sistema de software, facilitando así la reutilización, mantenimiento y calidad del código.
Hoy en día existen un sin numero de patrones de diseño, debido a la necesidad de organizarlos se pueden clasificar en tres categorias principales:
(1) Creacionales, estos guían en la creación de objetos.
(2) Estructurales: describen como organizar objetos para trabajar en conjunto.
(3) De comportamiento: para organizar de mejor manera el comportamiento de los objetos.
Revisa la wiki para más información