jairogloz / go-l

A golang backend application to manage soccer tournaments/leagues.
8 stars 13 forks source link

Get Team Players repository function #15

Closed jairogloz closed 1 month ago

danielperaltamadriz commented 2 months ago

alguien está trabajando en esto? sino yo lo puedo empezar :)

jairogloz commented 2 months ago

Adelante @danielperaltamadriz !! Si gustas proponer aquí tu estrategia antes de implementar para validarla entre todos 😄

danielperaltamadriz commented 2 months ago

Hola @jairogloz @DarcoProgramador @Jibaru, estaba revisando el código y tengo algunas dudas.

Aquí el repository de teams me parece que tiene conocimiento de la colección de players, lo cual no sé que taaan correcto es dentro de DDD. https://github.com/jairogloz/go-l/blob/develop/internal/ports/team.go#L17

Creo, pero no estoy seguro, que generalmente los puertos no se pueden conectar con otros puertos, o para este caso, un repositorio no debería acceder la información de otro repositorio directamente porque rompe los límites estabelcidos.

Ante esto, creo q sería mejor que el servicio de teams tenga dos dependencias: El repositorio de Teams y el servicio de Players. Así, dentro del servicio de Teams cuando se ejecuta GetTeam() se llama al repositorio, pero cuando se llama a GetPlayers() se llama al servicio de players y se delega en ese servicio la lógica necesaria para conseguir esa información.

Qué opinan ustedes? Si hay algo q no estoy entendiendo, nada más me avisan.

jairogloz commented 2 months ago

Muy buena observación 🤔 y qué opinan de mejor mover esa funcionalidad al service de Players y agregar un GetPlayersByTeam(teamID string) ?

danielperaltamadriz commented 2 months ago

Eso tiene aún más sentido :)