Abstract Factory es un patrón de creación que proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas. Piense en ello como una fábrica de fábricas: usted elige una fábrica y se garantiza que todos los objetos que cree a través de ella serán compatibles entre sí.
El problema: familias de UI
Estás creando un conjunto de herramientas de interfaz de usuario multiplataforma. Tienes widgets de botón y casilla de verificación. Cada plataforma (Windows, macOS, Linux) necesita su propia apariencia. Debe garantizar que si crea un WindowsButton, también cree un WindowsCheckbox, nunca una familia mixta como WindowsButton + MacCheckbox.
Participantes
Ejemplo de código completo
Método de fábrica abstracta versus método de fábrica
Fábrica abstracta en la biblioteca estándar de Java