Uno de los aspectos más importantes a la hora de  escribir código mantenible es poder notar los temas recurrentes en ese código y optimizarlos. Esta es un área donde el conocimiento de los patrones de diseño puede ser invaluable…

Los patrones de diseño se remontan a los primeros trabajos de un arquitecto llamado Christopher Alexander . A menudo escribía publicaciones sobre su experiencia en resolver problemas de diseño y cómo se relacionaban con edificios y ciudades. Un día, se le ocurrió a Alexander que, cuando se usa una y otra vez, ciertas construcciones de diseño conducen a un efecto óptimo deseado.

link: https://addyosmani.com/resources/essentialjsdesignpatterns/book/