Abstract Factory. Design patterns

En Algoritmos | Diseño por
abril 25, 2019 8:36 pm

Trabaja con una super fábrica la cual crea otras fábricas. Esta fábrica es ta,bién llamada como una fábrica de fábricas. Este tipo de patrón de diseño viene baja un patrón creacional el cual permite crear un objeto de la mejor manera posible.


Soluciona

El problema que quiere solucionar este patrón de diseño es el de la creación de diferentes familias de objetos. Dicho esto se recomienda la utilización del patrón de diseño Abstract factory  cuando se preveé la inclusión de nuevas familias de productos, sin embargo, puede ser el defecto de este patrón, ya que se afectan todas las familias creadas.


Modelo

 

 

 

 


Clases

El patrón de diseño Abstact Factory tiene la siguiente estructura de clases:

  • Fábrica abstracta Es la definición de las interfaces de las fábricas. Debe de proveer un método para la obtención de cada objeto que pueda crear.
  • Fábricas concretas Estas son las diferentes familias de productos. Provee de la instancia concreta de las que se encarga de crear. Así podemos crear elementos para cada sistema operativo, por ejemplo, para IOS y para Android, y si más adelante se quisiera incorporar otro, se podría hacer sin problema.
  • Producto abstracto Definición de las interfaces para la familia de productos genéricos. El cliente trabajará directamente sobre esta interfaz, que será implementada por los diferentes productos concretos.
  • Cliente La clase que llamará a la fábrica adecuada ya que necesita crear un de los objetos que provee la fábrica, es decir, Cliente quiere obtener es una instancia de alguno de los productos.
  • Producto concreto Es la implementación de los diferentes productos. Por ejemplo, tener un formulario en IOS y otro formulario en Android, ambos implementan un formulario, el Cliente no percibe esto porque interactúa directamente sobre la interfaz.

Estructura en código

 

C#

 

Java

 


52 visitas