Hallo,
ich habe folgendes Problem zu lösen:
Es gibt zwei Klassen, A und B, B wird von A abgeleitet und eine der Methoden wird überladen.
Die Klassen werden von verschiedenen Entwicklern implementiert (EntwicklerA und EntwicklerB), die nichts voneinander wissen.
Später ändert EntwicklerA diee Methode der Klasse A:
EntwicklerB aktualisiert die KlasseA. Welche Konzepte gibt es, um dem EntwicklerB "mitzuteilen", dass er seine Methode in der KlasseB evtl. aktualisieren soll?
Eine der Möglichkeiten z.B. ist, eine abstracte Methode mit der Versionsnummer hinzuzufügen:
Nach jeder Änderung in der KlasseA ändert EntwicklerA die Methode version1():
Damit bekommt EntwicklerB mit, dass die KlasseA sich geändert hat.
Nachteil: Umständlich, hässlich, 1 Methode für die ganze Klasse (ich hätte das gerne für jede Methode)
Weißt jemand Konzepte, auch externe Tools (z.B. Hashes von Methoden zu erstellen), wie man dieses Problem lösen kann?
Danke im Voraus.
Gruß
xylibri
ich habe folgendes Problem zu lösen:
Es gibt zwei Klassen, A und B, B wird von A abgeleitet und eine der Methoden wird überladen.
Code:
Class A
{
protected void myMethod()
{
doThis();
}
protected void yourMethod(){};
protected void theirMethod(){};
}
Class B extends A
{
protected void myMethod()
{
doThat();
}
}
Die Klassen werden von verschiedenen Entwicklern implementiert (EntwicklerA und EntwicklerB), die nichts voneinander wissen.
Später ändert EntwicklerA diee Methode der Klasse A:
Code:
Class A
{
protected void myMethod()
{
doThis();
yourMethod();
theirMethod();
}
protected void yourMethod(){};
protected void theirMethod(){};
}
EntwicklerB aktualisiert die KlasseA. Welche Konzepte gibt es, um dem EntwicklerB "mitzuteilen", dass er seine Methode in der KlasseB evtl. aktualisieren soll?
Eine der Möglichkeiten z.B. ist, eine abstracte Methode mit der Versionsnummer hinzuzufügen:
Code:
Class A
{
...
abstract void version1(){}
}
Class B extends A
{
protected void myMethod()
{
void version1(){}
}
}
Nach jeder Änderung in der KlasseA ändert EntwicklerA die Methode version1():
Code:
Class A
{
...
abstract void version2(){}
}
Damit bekommt EntwicklerB mit, dass die KlasseA sich geändert hat.
Nachteil: Umständlich, hässlich, 1 Methode für die ganze Klasse (ich hätte das gerne für jede Methode)
Weißt jemand Konzepte, auch externe Tools (z.B. Hashes von Methoden zu erstellen), wie man dieses Problem lösen kann?
Danke im Voraus.
Gruß
xylibri