Ich habe bei einem kleinen Design-Problem stecken.Software-Design-Problem: kreisförmige Abhängigkeit
folgende Situation
Bibliothek Schnittstelle
Enthält Schnittstelle für jede Modellklasse (Getter und Setter nur)
Libray Businnes Logic
Enthält Implementierungen von Schnittstellenbibliothek und DAL . Verwendet Schnittstelle & Transporter Bibliothek
Bibliothek Transporter: Enthält Web-Services 3rd-Party-Klassen für Messaging. Auch dort möchte ich die Referenzen oder Web-Referenzen von 3rd-Party-Bibliotheken bei Bedarf hinzufügen. Verwendet die Schnittstellenbibliothek.
So weit so gut. Es gibt jetzt keine zirkuläre Abhängigkeit. Sobald ein Webservice aufgerufen werden muss, verwendet die Business-Logik-Bibliothek die Bibliothek "transporter", um die externe Methode aufzurufen. Das funktioniert ziemlich gut.
Aber jetzt muss ich einen Webservice erstellen, wo 3rd Business Objekte auf unserer Seite erstellen können. Ich möchte eine "Transformationsbibliothek" erstellen, in der Geschäftsobjekte in Nachrichtenobjekte für die externen Webservices umgewandelt werden und umgekehrt. Und da denke ich ist das Problem mit meiner aktuellen Architektur. Wenn ich diese Bibliothek erstellen möchte, bekomme ich eine zirkuläre Abhängigkeit. Die Gründe dafür sind
- Transporter Referenzen Trans
- Bibliothek Referenzen Trans BL
- BL Referenzen Transporter
Ich hoffe, dass ich auch meine Situation erklären könnte.
Danke für jede Idee, um das zu lösen.
+1 erstellen für den richtigen Vorschlaghammer. Es könnte jedoch immer noch eine weniger kraftvolle Lösung geben, als die Modulierung zu überdenken. –
Hmm klingt gut also sollte ich auch die Transformationen in der Transporter-Bibliothek enthalten? – nWorx
@unicron: nicht unbedingt. –