Methode vor Ausführung einer vorhandenen Methode aufrufen

JasDA

Aktives Mitglied
Angenommen ich habe ein Interface mit folgenden Methonde:

Java:
List loadCustomers();
void insertCustomer(Customer cust);
void deleteCustomer(Customer cust);

Diese Methoden werden an verschiedenen Stellen im Code aufgerufen. Nun möchte ich aber vor dem Aufruf jeder dieser Methode eine andere Methode einschieben.Nennen wir sie mal "checkServerResponse".

Nun könnte ich natürlich an alle Stellen im Code hergehen und die Methode checkServerResponse vor dem Aufruf der eigentlichen Methode einschieben. Aber geht sowas irgendwie auch einfacher durch Erweiterung oder Änderung des Interfaces?
 
Zuletzt bearbeitet:
solltest du Spring verwenden gibts da Spring AOP, dann einfach einen BeforeAdvice erstellen. Also wäre am einfachsten wenn du Spring verwendest 😀
 
Alternativ machst du aus dem Interface eine Abstrakte Klasse und führst dort in den Methoden die checkServerResponse noch aus.
Was du sicherstellen musst ist, dass die Unterklassen die Methode von super aufrufen super.doSomething();... das ist etwas unsauber.. also ist der Ansatz über AOP sicherer, wobei natürlich komplexer und ist auch nicht jedermanns Sache eine Anwendung mit 15 AOP Aspekts zu debuggen...
 
Java:
Wäre natürlich schön wenn es dafür auch eine Lösung ohne Spring gibt.

Gib mal in die Suchmaschine deiner Wahl die Suchbegriffe

Proxy Muster

oder

Java Dynamic Proxy

ein.
 

Zurück
Oben