2017-02-07 25 views
0

私は3クラスライブラリ、以下の例があります:私は、アプリケーションを使用したい 循環依存関係の問題を修正するにはどうすればよいですか?

  • ApplicationCore(メインクラスライブラリ)
  • アプリケーション1(ApplicationCoreに追加された参照)
  • アプリケーション2(ApplicationCoreに追加された参照)
  • を1の機能をアプリケーションコアクラスライブラリに追加しました。 ApplicationCoreにApplication1の機能を実装するベストプラクティスは何ですか?

    +2

    これらの機能をApplicationCoreに移動し、Application1から使用します。 – Evk

    答えて

    2

    共有機能をApplicationCoreまたは新しい共有クラスライブラリに移動します。

    0

    もう1つのオプションは、インターフェイスと依存性注入(DI)です。

    • メインクラスライブラリにインターフェイスを作成します。 (ApplicationCore)
    • ApplicationCoreにそのインターフェイスの既定の実装がある可能性があります。
    • Application1では、インターフェイスのApplication1から実装をDIに設定します。

    デフォルトの実装を使用します。

    Application1では、Application1の実装が使用されます。

    関連する問題