Los patrones son la base para la búsqueda de
soluciones a problemas comunes en el desarrollo de software y otros ámbitos
referentes al diseño de interacción o interfaces.
Patrones de arquitectura: Aquellos que expresan
un esquema organizativo estructural fundamental para sistemas de software.
Patrones de Diseño: Aquellos que expresan
esquemas para definir estructuras de diseño (o sus relaciones).

Los patrones de arquitectura, nos permiten mantener un proyecto limpio,
escalable, fácil de mantener y de testear.
Los patrones de diseño nos muestran soluciones al
momento de diseñar un software, soluciones de estructura de clases y re
utilización de componentes.
Los patrones de diseño y de arquitectura no son
nuevos, están con nosotros aproximadamente desde los años 70 y sus creadores
los comenzaron a utilizar para solucionar problemas de sobre escritura de
código en los proyectos web que implementaban. Varias tecnologías se han
adaptado a utilizar este patrón y en muchos de los casos los desarrolladores
adecuan el lenguaje a los patrones.






