Circular Dependency Solution

Unser aktuelles Projekt ist auf ein zirkuläres Abhängigkeitsproblem gestoßen. Unsere Geschäftslogik-Assembly verwendet Klassen und statische Methoden aus unserer SharedLibrary-Assembly. Die SharedLibrary enthält eine ganze Reihe von Hilfsfunktionen, z. B. eine SQL Reader-Klasse, Enumeratoren, globale Variablen, Fehlerbehandlung, Protokollierung und Validierung.

Die SharedLibrary benötigt Zugriff auf die Business-Objekte, die Business-Objekte benötigen jedoch Zugriff auf SharedLibrary. Die alten Entwickler lösten diesen offensichtlichen Codegeruch, indem sie die Funktionalität der Geschäftsobjekte in der gemeinsam genutzten Bibliothek replizierten (sehr anti-DRY). Ich habe jetzt einen Tag damit verbracht, über meine Optionen zur Lösung dieses Problems zu lesen, aber ich bin in einer Sackgasse.

Ich bin offen für die Idee der Neugestaltung der Architektur, aber nur als letztes Mittel. Wie kann ich also eine freigegebene Hilfsbibliothek einrichten, die auf die Geschäftsobjekte zugreifen kann, während die Geschäftsobjekte weiterhin auf die freigegebene Hilfsbibliothek zugreifen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage