Ich habe eine Klasse, sagen wir: Kunden.
Dieser Kunde muss in diversen Listen/
DB gespeichert werden, also z.B.:
1. in einem
DBMS
2. im ActiveDirectory
3. in der User-Liste eine Fremdapplikation
Ich habe leider bei den Patterns gefehlt, eigne mir also jetzt erst (10 Jahre später) das Wissen hierzu an, und daher würde ich gerne Anregungen haben, wie ich vom OO-Konzept so eine Geschichte am Besten angehen sollte.
Ich möchte ein gutes und wartbares Design sowohl hinsichtlich der Erweiterbarkeit der Stammklasse (hier: Kunde) als auch der Möglichkeiten der Speicherung implementieren.
Eine Möglichkeit wäre, wenn ich am der Klasse diverse 'I/O-Engines' registrieren kann. Wenn ich dann die 'Speichern' Methode des Kunden aufrufe, sollte dieser durch die Engines iterieren, und deren 'Speicher'-Methode aufrufen.
Dann hätte ich aber den Nachteil, das ich Erweiterungen an der Struktur des Kunden (z.B. soll seine Schuhgröße mit gespeichert werden), sowohl in der Kundenklasse, als auch an den Engines vornehmen müsste. Und das ist irgendwie blöd.
Frage: Hat jemand eine bessere Idee, sodaß ich -wenn auch nicht an einer einzigen Stelle- die Notwendigen Änderungen doch an einer Stelle im Code vornehmen kann..
Ideen?