Quiero hacer mi propio Netflix en C++/C#, sin usar sql, ya que todavia no lo he aprendido. (En unas semanas tengo pensado aprenderlo, pero por ahora solo memoria dinamica)
Pensé en este diagrama de clase. ¿Qué piensas?
En mi programa principal tengo una lista con todas las películas existentes.
Cada usuario tiene 2 listas, las películas que vio y las pelicula que guardo, y un vector de 5 peliculas recomendadas, que se generan en tiempo real (Cada vez que ve una pelicula)
Aca viene mi primera duda:
Ya que en mi archivo principal tengo una lista con las películas totales, es mucho gasto de memoria, colocar nuevamente en cada usuario "peliculas_vista" y "peliculas_no_vistas" por eso pense en hacer lo siguiente:
Una lista de punteros a peliculas "Peliculas_No_vistas", donde se tiene punteros a todas las peliculas existentes, cunado se ve una pelicula, el puntero pasa de estar en "Peliculas_No_vistas" a "Peliculas_Vistas", donde siempre voy manteniendo un registro de las que se vieron y no se vieron.
¿Que les parece? ¿O es insignificante el gasto de memoria adicional como para hacer esto?
La segunda pregunta:
Lo de tener Peliculas_No_vistas surge de que tengo que recomendar peliculas a a través de un algoritmo basado en los generos de películas que vio el usuario.
Entonces, dentro de las no vistas, quiero buscar en las de cierto genero, así que se me ocurrió lo siguiente:
Que Peliculas_No_Vistas sea un vector con los 10 géneros existentes, y en cada entrada del vector pongo la listas de peliculas con respecto al genero.(Solo para ordenarlas)
Donde, si quiero acceder a las de "terror" voy directo a esa categoría y no tengo que estar recorriendo las todas.
Y lo otro que pense es que las peliculas vistas sea un vector con dos listas, calificadas y no calificadas
Pero no se si es conveniente, ya que no se base de datos, en un futuro cuando quiera hacerlo con base de datos, se me complique.
Gracias