Responsabilidad de listado de transmisiones. #518
Replies: 1 comment 1 reply
-
¡Hola!
La respuesta rápida es: queda a tu criterio, no hay una respuesta unívoca. Tené en cuenta cuál es el objeto con la mínima cantidad de estado y comportamiento necesario para resolver la tarea.
Se me ocurren varias preguntas: ¿es el repositorio de canales el objeto de tu sistema con la menor cantidad de estado y comportamiento necesaria para resolver el problema? Si no se lo delegaras a este objeto, ¿a cuál otro se la delegarías? ¿Podrías justificar mejor por qué no delegarlo al repositorio de canales, en términos de cualidades de diseño? Y también lo contrario: ¿podrías justificar en términos de cualidades de diseño por qué sí hacerlo? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Buenas! Cómo están?
Aprovecho para hacer otra consulta antes del cierre del plazo.
Estoy trabajando sobre el siguiente requerimiento:
“Como persona internauta, deseo poder listar canales, las transmisiones en curso y las transmisiones históricas de un canal.”
En mi implementación actual, utilizo un repositorio (CanalRepository) para persistir los canales existentes, y este me permite obtener tanto la lista completa de canales como los canales que están actualmente en vivo (es decir, aquellos que tienen una transmisión activa).
Mi duda puntual es: ¿de quién debería ser la responsabilidad de listar las transmisiones en curso?
Me surgió la idea de que el repositorio de canales podría devolver directamente las transmisiones en vivo, pero esto me pareció incorrecto desde el punto de vista del diseño orientado a objetos, ya que el repositorio se encarga específicamente de manejar entidades del tipo Canal, no Transmisión.
Por ahora, lo que hago es obtener los canales en vivo desde el repositorio y luego, desde cada canal, acceder a su transmisión actual (si la tiene), pero no estoy seguro si este es el enfoque más adecuado o si sería preferible delegar esa lógica en otra clase.
Muchas gracias!
Beta Was this translation helpful? Give feedback.
All reactions