Ich habe viele Beiträge gelesen, die sich mit der Frage befassen, mehrere Datenbanken zu haben und wie man in diesem Fall eine DAL effizient gestaltet. In vielen Fällen schlägt das Forum vor, das Repository-Muster anzuwenden, was in den meisten Fällen gut funktioniert.Design der Datenzugriffsschicht mit mehreren Datenbanken
Allerdings finde ich mich in einer anderen Situation. Ich habe 3 verschiedene Datenbanken: Oracle, OLE DB und SQLServer. Gegenwärtig gibt es eine eindeutige DAL mit vielen verschiedenen Klassen, die SQL-Abfragen bis zu einer darunter liegenden Ebene senden, um in der entsprechenden Datenbank ausgeführt zu werden. Die Funktionsweise des Systems besteht darin, dass zwei der Datenbanken nur dazu dienen, Informationen von ihnen zu lesen, während die andere dazu dient, diese Informationen entweder zu speichern oder später zu lesen. Ich muss der aktuellen Implementierung ein besseres Design vorschlagen, aber es scheint, als ob eine gemeinsame Schnittstelle für alle drei Datenbanken aus architektonischer Sicht nicht plausibel ist.
Gibt es ein Entwurfsmuster, das diese Situation löst? Sollte ich drei verschiedene DALs haben? Oder ist es vielleicht (und ratsam), das Repository-Muster auf dieses Problem anzuwenden?
Interessante Frage.Welches Problem versuchen Sie zu lösen, indem Sie das aktuelle Design ändern (Entfernen von sich wiederholendem Code, Erleichterung der Wartung, Vereinfachung der zukünftigen Entwicklung usw.)? – dbugger
Es gibt überall repetitiven Code, und das System wird bald erweitert, und deshalb möchte ich eine generische Lösung vorschlagen. – Iliana