Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
cap:patterns:abstract_factory [2017/04/26 17:50]
user creado
cap:patterns:abstract_factory [2018/02/20 09:18] (actual)
Línea 1: Línea 1:
 ====== Fábrica Abstracta ====== ====== Fábrica Abstracta ======
  
-Consiste en generar una implementación de una fábrica ​la cual resolverá las acciones bajo el contexto en que se realizó la implementación,​ es decir, se requiere resolver el mismo conjunto de acciones pero el contexto en donde se realizan puede variar en base las condiciones donde se realizó la implementación,​ al final se van a resolver las acciones pero el resultado será diferente dependiendo ​de que implementación ​de fábrica sea la que las resuelva.+Una fábrica abstracta es aquella ​fábrica que tiene diferentes implementaciones debido ​que existen dentro ​de su proceso de creación alguna particularidad ​que diferencia a una fábrica ​de otra.
  
 +{{ cap:​patterns:​abstract_factory.png }}
  
 +Como podemos ver en la imagen, tenemos un producto base ''​ProductAbstract''​ del cual surgen 2 implementaciones ''​ProductA''​ y ''​ProductB'',​ por otra parte tenemos una fábrica base ''​FactoryAbstract''​ de la cual surgen 2 implementaciones ''​FactoryProductA''​ y ''​FactoryProductB''​.
  
 +En la fábrica base existe un método llamado ''​create''​ el cual regresa como resultado un objeto del tipo ''​ProductAbstract''​.
 +
 +La fábrica ''​FactoryProductA''​ regresa un ''​ProductA'',​ mientras que la fábrica ''​FactoryProductB''​ regresa un ''​ProductB''​.
 +
 +{{ cap:​patterns:​abstract_factory_sample.png }}
 +
 +En la imagen anterior, vemos que existen 2 fábricas, una se encarga de ensamblar camionetas, la otra se encarga de ensamblar sedan, ambas fábricas realizan la misma acción de ensamblar, pero cada fábrica lo hace de una manera distinta y el producto que generan es distinto.
 +
 +[[cap:​patterns:​codigo yuml]]