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:builder [2017/04/27 17:39]
user creado
cap:patterns:builder [2018/02/20 09:18] (actual)
Línea 1: Línea 1:
 ====== Constructor ====== ====== 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.
 +
 +{{ cap:​patterns:​builder.png }}
 +
 +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.
 +
 +{{ cap:​patterns:​builder_sample.png }}
 +
 +En la imagen anterior, vemos 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.
 +
 +Por último el pizero es el encargado de hacer las pizzas en base a la receta que se le especifique.
 +
 +[[cap:​patterns:​codigo yuml]]