roel wrote:
I think this diagram is almost correct.
A 'standardstructure' is a superclass of a DailyDate or SeasonEpisode class. But a TedSerie only has 1 of those instances. The vector of episodes is kept in the SeasonEpisodeScheduler
Correct, good catch. I missed one link from a TedSerie to a StandardStructure
roel wrote:
The SeasonEpisodeScheduler now holds the whole schedule of a show. We might want to move that to the TedSerie class, or split the class in a schedule and a schedulecontroller.
How come? Could we not look up the show schedule again when we needed it? Would a user change this schedule?
I think the main problem now is that it holds on to so many other classes. I'd like to start with just generating this data on startup, and then add caching to the different schedule sources (ted.guide.*), so they can look locally for most of their information.
TVDB already supports this by saving the XML files as you load information, and querying the server for just what has changed since the last update.
roel wrote:
In the end, it would be nice if we could lose the TedDailyShow as well, such that only the class of the schedule determines the episodes we are looking for (Daily episodes/Season Episodes/Sequential episodes). But we kept the difference because the way of parsing is different. , can you explain why that is? I think it had something to do with the fact that you can set a maximum number of episodes for a daily show, but you can't for a normal season/episode show.
In my view, you have one show class that has a schedule which contains episodes. Those episodes are where the difference between the kinds of show become clear. We now have a DailyDate, SeasonEpisode datastructure. In my ideal view, that is the only difference between a normal show and a daily show.
I completely agree, and this would be the direction I'd be moving in.
Thank you for the comments. Any other of the classes you can help me with? I'm really hopeful most of these objects won't need to be serialized.