Este documento describe varios patrones de diseño de software, incluyendo Singleton, Builder, Iterator y Decorator. Singleton garantiza que una clase tenga una única instancia accesible globalmente. Builder separa la construcción de objetos complejos de su representación. Iterator provee una interfaz para acceder secuencialmente a los elementos de una colección sin exponer su representación interna. Decorator permite añadir dinámicamente nuevas responsabilidades a un objeto.