I want to create a media management tool, for which I try to draw an appropriate UML class diagram. The tool shall hold a collection of different media types (movies, music, etc.) which inherit from a basic medium class. Each medium has different attributes in addition (e.g. interpreter, director,...). I plan to fetch information about media online to complement missing attributes automatically.
Currently I plan to hand this functionality to an additional singleton class template OnlineSynchronisation, to differ in the kind of medium, to fetch from the proper online source the proper attributes.
Does this scheme make sense or is there a better approach? If there would only be one kind of medium, I would create OnlineSynchronisation only with static methods, since there is no need for individual instances. But the method
updateMedium needs to be adapted to different sources (e.g. get attributes from imdb.com, if the medium is a movie).
EDIT The strategy pattern suggested in the comments by @CandiedOrange looks promising. In combination with the answer and comments by @Bart I will drop my intention of using the singleton pattern