-
Proporcionan mecanismos de creación de objetos que incrementan la flexibilidad y la reutilización de código existente. -
Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas.