Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
cap:patterns:builder [2017/04/28 08:48] user |
cap:patterns:builder [2018/02/20 09:18] (actual) |
||
|---|---|---|---|
| Línea 7: | Línea 7: | ||
| {{ cap:patterns:builder.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'' y ''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 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. |
| - | + | ||
| - | {{ cap:patterns:builder_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. | + | Por último el pizero es el encargado de hacer las pizzas en base a la receta que se le especifique. |
| [[cap:patterns:codigo yuml]] | [[cap:patterns:codigo yuml]] | ||