crea objetos complejos mediante composición de objetos más simples. Builder: separa la construcción de un objeto complejo de su representación. Prototype: usa prototipos para crear nuevos objetos evitando subclases. Singleton: garantiza que una clase sólo tenga una instancia y proporciona un punto global de acceso a ella.