Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duda Vehicle Routing #218

Open
anibalcontreras opened this issue Nov 22, 2023 · 1 comment
Open

Duda Vehicle Routing #218

anibalcontreras opened this issue Nov 22, 2023 · 1 comment

Comments

@anibalcontreras
Copy link

Tengo una duda con la implementación del Chain Of Responsability en el BuildHandler(VehicleRoutingProblem problem).
Screenshot 2023-11-22 at 10 10 33
Según este diagrama hay que instanciar los cinco handlers y hacer el next 1 a 1 hasta llegar al último. Luego hay que hacer el handle(request) al primer handler que en nuestro caso creo que es IsSolutionValid(int[] solution).
El tema es que no puedo pasarle el solution en el Build Handler ya que no está configurado de esa manera.
Mis dudas son las siguientes:

  • Está bien que quiera hacer el handler1.IsSolutionValid?
  • Si es así, como le paso la solución sin modificar el BuildHandler para que acepte una lista de ints con solutions?, se puede hacer esto?

Gracias de antemano

@RodrigoToroIcarte
Copy link
Owner

En el diagrama solo ponen un código de referencia sobre cómo un cliente podría usar el patrón. Pero el patrón en sí es más general que eso. En la pregunta, por ejemplo, la idea es que construyas la cadena y retornes el handler que inicia la cadena. Luego en los tests nosotros llamamos a IsSolutionValid() sobre ese handler para chequear que hayas construido bien la cadena.

Igual, más allá de esta pregunta particular, mi consejo es que te acostumbres a revisar el código de los tests también. Entender qué evalúan los tests puede hacer una gran diferencia en el examen :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants