martes, 29 de octubre de 2019

Patron de diseño Builder - parte 2
Si te has perdido la parte 1.  ver parte 1
En esta parte veremos 2 formas de usar el patron Builder.
Tenemos que generar un objeto helado:

Opcion 1:
 Usaremos la opción más fiel al diagrama UML del patron Builder.

CopaHelado: es el producto que se quiere obtener:

 AbstractBuilder: Es una clase abstracta que debe contener:
-Metodo para crear un objeto de la clase CopaHelado.
-Metodo para obtener el objeto creado.
-Metodos abstractos para personalizar la creacion del objeto.

 

CombinacionUno: es un ConcreteBuilder que servirá para personalizar la creacion del objeto.
 Hereda del AbstractBuider y reescribe los metodos para personalizar el objeto Helado.

CombinacionDos: es un ConcreteBuilder que tambien personaliza el objeto que se quiere crear.
 Hereda del AbstractBuider y reescribe los metodos para personalizar el objeto Helado.
 
 Director: es quien se encarga de preparar el objeto helado (final).
 Setea el ConcreteBuilder en el AbstractBuilder para reescribir sus metodos.
 Es controlado desde la clase principal (Main)
 Tambien es el encargado de llamar a los metodos necesarios para crear el helado.
Main: aquí se maneja a la clase director enviado el ConcreteBuilder que se establecera en el AbstractBuilder.
Tambien se crean 2 objetos helados de diferente sabor (usando ambos concretebuilder).


Opcion 2:
Usaremos la opción que es muy usada en frameworks (algunos).
Esta opción es más limpia.

ProductoHelado: objeto que se desea obtener.
Builder: se encarga de recibir los valores que tendra el objeto a crear.
La forma en la que estan declarados los metodos permite tener orden al generar el bojeto desde la clase principal (Main).
Main: Se encarga de generar el ProductoHelado usando el Builder.
Gracias a la forma de declarar los objetos en el Builder se puede generar un objeto de la forma en que se puede apreciar.

No hay comentarios:

Publicar un comentario