Autumn SALE
Abstract Factory

Abstract Factory en Swift

Abstract Factory es un patrón de diseño creacional que resuelve el problema de crear familias enteras de productos sin especificar sus clases concretas.

El patrón Abstract Factory define una interfaz para crear todos los productos, pero deja la propia creación de productos para las clases de fábrica concretas. Cada tipo de fábrica se corresponde con cierta variedad de producto.

El código cliente invoca los métodos de creación de un objeto de fábrica en lugar de crear los productos directamente con una llamada al constructor (operador new). Como una fábrica se corresponde con una única variante de producto, todos sus productos serán compatibles.

El código cliente trabaja con fábricas y productos únicamente a través de sus interfaces abstractas. Esto permite al mismo código cliente trabajar con productos diferentes. Simplemente, creas una nueva clase fábrica concreta y la pasas al código cliente.

Si no sabes la diferencia entre los distintos patrones de fábrica y sus conceptos, lee nuestra Comparación de fábricas.

Complejidad:

Popularidad:

Ejemplos de uso: El patrón Abstract Factory es muy común en el código Swift. Muchos frameworks y bibliotecas lo utilizan para proporcionar una forma de extender y personalizar sus componentes estándar.

Identificación: El patrón es fácil de reconocer por los métodos, que devuelven un objeto de fábrica. Después, la fábrica se utiliza para crear subcomponentes específicos.

Los siguientes ejemplos están disponibles en Swift Playgrounds.
Kudos a Alejandro Mohamad por crear la versión de Playground.

Abstract Factory en otros lenguajes

Abstract Factory en C# Abstract Factory en C++ Abstract Factory en Go Abstract Factory en Java Abstract Factory en PHP Abstract Factory en Python Abstract Factory en Ruby Abstract Factory en Rust Abstract Factory en TypeScript