Hallo,
Angenommen ich habe sagen wir mal zwei verschiedene Parser klassen P1 und P2 die halt irgendwas parsen.
Um ein einheitliches Interface für die Parser zu haben, implementieren diese ein gemeinsames Interface PInterface.
Jeder der zwei Parser versteht ein bestimmtes format welches er in der im Interface definierten Methode bekommt.
Was ist nun der best-practice weg um zu entscheiden welcher parser wirklich verwendet wird..
An irgendeiner Stelle habe ich ja dann diesen Code:
PInterface parser = new P1();
oder eben
PInterface parser = new P2();
Natürlich könnte ich das zu parsende Format nun mit "instanceof" überprüfen und dann eben entweder P1 oder halt P2 instanzieren... das möchte ich aber nicht.
wie kann ich sicherstellen dass der richtige parser verwendet wird?
Ein anderer Ansatz wäre dass ich es mit einer generischen Klasse realisiere:
class ParserApplication<der jeweilige parser> { }
dann hätte ich sowieso zugriff zum jeweiligen richtigen parser.
Angenommen ich habe sagen wir mal zwei verschiedene Parser klassen P1 und P2 die halt irgendwas parsen.
Um ein einheitliches Interface für die Parser zu haben, implementieren diese ein gemeinsames Interface PInterface.
Jeder der zwei Parser versteht ein bestimmtes format welches er in der im Interface definierten Methode bekommt.
Was ist nun der best-practice weg um zu entscheiden welcher parser wirklich verwendet wird..
An irgendeiner Stelle habe ich ja dann diesen Code:
PInterface parser = new P1();
oder eben
PInterface parser = new P2();
Natürlich könnte ich das zu parsende Format nun mit "instanceof" überprüfen und dann eben entweder P1 oder halt P2 instanzieren... das möchte ich aber nicht.
wie kann ich sicherstellen dass der richtige parser verwendet wird?
Ein anderer Ansatz wäre dass ich es mit einer generischen Klasse realisiere:
class ParserApplication<der jeweilige parser> { }
dann hätte ich sowieso zugriff zum jeweiligen richtigen parser.
Zuletzt bearbeitet: