Fábrica Abstracta

Una fábrica abstracta es aquella fábrica que tiene diferentes implementaciones debido a que existen dentro de su proceso de creación alguna particularidad que diferencia a una fábrica de otra.

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.

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.

codigo yuml