Kapselung versus Schnittstellen
-
Ich wollte in meine Anwendung verschiedene Editoren, bzw. Betracher einbauen, je nachdem welcher Dateityp geladen ist, z.B. für *.HTML einen Browser, für *.PDF einen PDF-Viewer, für Textdateien irgendeinen Editor. Ist nur realisierbar wenn alle dieselbe Interface implementieren, dazu muss man aber von den Editoren/Viewer-Klassen neue Klassen ableiten. Oder man könnte auch eine neue Klasse einführen, von dieser ableiten und dann die Editoren/Viewer kapseln.
Welche Möglichkeit ist besser? Vor allem wenn man durch Module neue Editoren/Viewer einfügen kann.