Hallo zusammen,
ich glaube ich hab im Code was gefunden wo sich bestens ein Interface eignet, dazu aber ein paar Fragen. @KonradN du hast im Thread "cleanCode" so schön zu den Interfaces geantwortet, hast Lust zu antworten?
Aktuell folgendes:
nehmen wir an es gibt 3 CMS systeme an welche Daten aus meiner App geschickt/geholt werden. Für alle 3 Systeme mache ich: Daten holen, Daten senden, Daten löschen, Daten updaten.
Nun habe ich 3 Klassen (Quarzjobs) für jedes CMS eine eigene (weil sich die Implentierung ja unterscheidet, jedes hat ne andere API). Hier wäre doch ein Interface "CMSClientInterface" ideal mit den 4 Methoden send, get, put, delete Meine aktuellen 3 Klassen implementieren dann das Interface.
So was macht das jetzt aber für einen Sinn? Wenn ich eine Funktion erweitere, muss ich das Interface um eine Methode ergänzen. Vielleicht aber brauch ich das nur in CMS2, trotzdem muss ich das in allen InterfaceImpl einbauen, den Methodenbody dann leer lassen? Den einzigen Vorteil den ich sehe ist, dass wenn ich ein neues CMS einbaue und mit dem IF erweitere, dann vergesse ich nicht irgendwelche Funktionen einzubauen.
Freue mich über Feedback
ich glaube ich hab im Code was gefunden wo sich bestens ein Interface eignet, dazu aber ein paar Fragen. @KonradN du hast im Thread "cleanCode" so schön zu den Interfaces geantwortet, hast Lust zu antworten?
Aktuell folgendes:
nehmen wir an es gibt 3 CMS systeme an welche Daten aus meiner App geschickt/geholt werden. Für alle 3 Systeme mache ich: Daten holen, Daten senden, Daten löschen, Daten updaten.
Nun habe ich 3 Klassen (Quarzjobs) für jedes CMS eine eigene (weil sich die Implentierung ja unterscheidet, jedes hat ne andere API). Hier wäre doch ein Interface "CMSClientInterface" ideal mit den 4 Methoden send, get, put, delete Meine aktuellen 3 Klassen implementieren dann das Interface.
So was macht das jetzt aber für einen Sinn? Wenn ich eine Funktion erweitere, muss ich das Interface um eine Methode ergänzen. Vielleicht aber brauch ich das nur in CMS2, trotzdem muss ich das in allen InterfaceImpl einbauen, den Methodenbody dann leer lassen? Den einzigen Vorteil den ich sehe ist, dass wenn ich ein neues CMS einbaue und mit dem IF erweitere, dann vergesse ich nicht irgendwelche Funktionen einzubauen.
Freue mich über Feedback