Este documento describe tres tipos de patrones de diseño: patrones de creación (como builder y singleton), patrones estructurales (como adapter y decorator) y patrones de comportamiento (como iterator y observer). Explica que el patrón singleton restringe la creación de objetos a una única instancia, el patrón decorator permite añadir dinámicamente funcionalidad a objetos, y el patrón iterator define una interfaz para acceder secuencialmente a los elementos de una colección.