Abstract Factory

De Dos Ideas.
Saltar a: navegación, buscar


El Abstract Factory es un patrón de diseño para el desarrollo de software. El problema que intenta solucionar este patrón es el de crear diferentes familias de objetos. Uno de los usos más comunes es el de creación de interfaces gráficas de distinto tipo (gtk, qt, etc.), para lo cual se suele combinar con los patrones Singleton y Adapter.

[1]

La estructura típica del patrón Abstract Factory es la siguiente:

  • La definición de interfaces para la familia de productos genéricos (ej: ventana, menú, botón...)
  • Implementación de las interfaces de los productos para cada una de las distintas familias concretas (ej: gtk_ventana, gtk_menú, gtk_botón... y qt_ventana, qt_menú, qt_botón...)
  • La definición de los métodos de creación de los productos genéricos en la interfaz de la fábrica (ej: construir_ventana, construir_menú, construir_botón...) cuyo tipo de retorno serán las interfaces genéricas.
  • Implementación de una fábrica para cada una de las familias concretas (ej: fábrica_gtk, fábrica_qt).

El patrón Abstract Factory está aconsejado cuando se prevé la inclusión de nuevas familias de productos, pero puede resultar contraproducente cuando se añaden nuevos productos o cambian los existentes.

Cuando se usa en conjunción con Singleton se crea una única fábrica, de modo que no habrá usos inconsistentes de los productos en el programa.