Diferencias

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

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cap:patterns:builder [2017/04/28 07:17]
user
cap:patterns:builder [2018/02/20 09:18] (actual)
Línea 5: Línea 5:
 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. 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.
  
-{{ cap:​patterns:​abstract_factory.png }}+{{ cap:​patterns:​builder.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'' ​''​FactoryProductB''​.+Como podemos ver en la imagen, tenemos un constructor ​''​Builder''​ del cual surgen 2 implementaciones ''​BuilderProductForA''​ y ''​BuilderProductForB'',​ por otra parte tenemos ​un director ​''​Director'' ​que se encargará ​de ejecutar el ''​Builder'' ​que le sea especificado,​ debido a la implementación cada ''​Builder'' ​puede hacer productos y obtener productos, pero cada uno la hará a su modo, en todos los casos el resultado será un producto.
  
-En la fábrica base existe un método llamado ''​create''​ el cual regresa como resultado un objeto del tipo ''​ProductAbstract''​.+{{ cap:​patterns:​builder_sample.png }}
  
-La fábrica ''​FactoryProductA''​ regresa un ''​ProductA''​mientras ​que la fábrica ''​FactoryProductB''​ regresa un ''​ProductB''​.+En la imagen anteriorvemos que existen 2 Recetas para hacer pizza, una es la receta para pizza hawaiana, la otra es la receta para pizza de peperoni, ambas recetas crearan una pizza, pero cada pizza tendrá ingredientes y modo de preparación distinto.
  
-{{ cap:​patterns:​abstract_factory_sample.png }} +Por último el pizero es el encargado de hacer las pizzas en base a la receta ​que se le especifique.
- +
-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]] [[cap:​patterns:​codigo yuml]]