franciscogazitua / IIC2113-2024

Consultas sobre el proyecto en las Issues
4 stars 0 forks source link

Patron Builder - Actividades clase S1 #100

Open Dafnemami opened 3 months ago

Dafnemami commented 3 months ago

Hola! Me queda la duda con lo surbrayado en rojo: un director es una entidad estática o puede dinámica ir cambiando los builders que ejecuta? Esto lo pregunto pues no entiendo como el hecho de que el cliente logre asociar un builder a un director asegura que el resto de los steps(builders) señalados en el director son correctos.

Captura de pantalla de 2024-06-10 15-58-45

RodrigoToroIcarte commented 3 months ago

No entiendo del todo la pregunta. Pero esa parte se refiere a que el cliente le entrega un objeto Builder (o que herede de Builder) al director y, con eso, el director podrá armar el objeto deseado.

La idea es que el director siempre ejecuta ciertos Steps. Esos Steps son métodos abstractos (o virtuales) que cada clase que herede de Builder debe (puede) sobreescribir. Así el código del director es siempre el mismo. E.j., ejecuta Step1(), Step3() y Step5(). Pero lo que haga cada uno de esos métodos depende del Builder que le des al director (y como cada uno de ellos sobreescribió los métodos Step1, Step3 y Step5).