Hallo
Ich schreibe an einer kleinen music tag lib in java die ich für ein projekt brauch und weiss jetzt nicht was designmässig besser ist.
Ich habe zur zeit eine abstrakte klasse MusicTag. Von ihr erbt ID3Tag.Von ID3Tag erben ID3v1Tag und ID3v2Tag. Von ID3v1Tag erbt ID3v1_1Tag. Von ID3v2Tag erbt ID3v2_3. Von ID3v2_3 erbt ID3v2_4 Tag. (endlich geschafft)
Wenn ich dann irgendwann in meinem programm einen Tag (welcher art auch immer) brauch so schreibe ich einfach zb:
MusicTag mt = new ID3v1Tag(bla);
und hab dann durch MusicTag zugriff auf alle methoden die relevant für tags sind.
Jetzt stell ich mir allerdings die frage ob es nicht besser wär ein Interface IMusicTag zu definieren mit den Methoden getArtist(),getAlbum usw...
Was ist besser, bzw macht es einen Unterschied (ich sehe zur zeit keinen). Hab mir bis jetzt noch nie gedanken über sowas gemacht...
mfg