現在のプロジェクトでは、循環依存の問題が発生しています。ビジネスロジックアセンブリは、SharedLibraryアセンブリのクラスと静的メソッドを使用しています。SharedLibraryには、SQLリーダークラス、列挙子、グローバル変数、エラー処理、ロギング、検証など、多数のヘルパー関数が含まれています。
SharedLibraryはBusinessオブジェクトにアクセスする必要がありますが、BusinessオブジェクトはSharedLibraryにアクセスする必要があります。古い開発者は、共有ライブラリ内のビジネスオブジェクトの機能を複製することで、この明らかなコードの臭いを解決しました(非常に反DRY)。私はこれを解決するための私のオプションについて読み込もうとして1日を費やしましたが、行き止まりになっています。
私はアーキテクチャの再設計のアイデアを受け入れていますが、それは最後の手段としてのみです。では、ビジネスオブジェクトが共有ヘルパーライブラリにアクセスしたまま、ビジネスオブジェクトにアクセスできる共有ヘルパーライブラリを作成するにはどうすればよいですか?