Ik ben bezig met een project waar ik verschillende audio/video playlists wil kunnen bewerken, en waar ik voorheen alles in een class had gebouwd wil ik dit nu wat meer opdelen.

Nu heb ik een aparte class gemaakt die het M3U bestandsformaat kan parsen, en dit wegschrijft naar een class TPlaylist, op deze manier kan ik verschillende parsers maken die allemaal kunnen wegschrijven naar de classe TPlaylist. Dit gaat allemaal prima, maar nu loop ik tegen een paar dingen aan en zou graag jullie advies hebben.

Ik zou graag naar verschillende formaten kunnen opslaan (bijvoorbeeld .tv bouquets, of JSON). Zou ik dit in de classe TPlaylist moeten/kunnen inbouwen of is het beter om een extra class te maken die het wegschrijven naar een bestand doet? Zo dat ik hierop bijvoorbeeld een class maak die M3U formaat schrijft, en een die naar JSON wegschrijft?

Ook loop ik tegen hetzelfde aan met een Undo/Redo manager, zou ik dit het best in een losse class zetten of is het verstandig dit in de TPlaylist class zelf te doen? Als ik deze in de TPlaylist class zet lijkt het mij makkelijker om meerdere documenten te kunnen gebruiken omdat elke playlist zo zelf de wijzigingen bij houdt.

het is namelijk de bedoeling dat ik hierdoor makkelijker kan uitbreiden naar andere formaten, en nieuwe functionaliteit kan toevoegen zonder (zoals voorheen) de hele (TPlaylist) classe te moeten aanpassen.