¡Esta es una revisión vieja del documento!


Constructor

Un constructor se dedica a crear productos específicos, pero el constructor es usado por una entidad llamada director, por lo tanto podemos decir que, un director recibe un constructor y que este constructor crea productos específicos.

Mencionado lo anterior tenemos un constructor el cual tiene diferentes implementaciones pero cada implementación generara un mismo producto pero con características especificas, un director puede utilizar cualquiera de las implementaciones del constructor para obtener el producto con sus características específicas.

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