0

依存関係ツリーは次のとおりです: BigApp -> 子アプリ -> ライブラリ

すべてのコンポーネントは、上記のライブラリの 1 つ (LibA) を多用しています。ただし、「上位レベル」のアセンブリからのクラスを必要とする「いくつかの」パブリック メソッドがあり、CIRCULAR 参照を避けたいと考えています。このための良いデザインとして何を提案しますか?

4

2 に答える 2

4

このようなことを回避する典型的な方法の 1 つは、何にも依存しないインターフェイスを作成することです。次に、BigApp と LibA の両方がインターフェイスに依存できます。BigApp はインターフェイスの具体的な実装を提供し、そのオブジェクトが使用される前のある時点で LibA に渡すことができます。

于 2010-04-27T20:51:27.810 に答える
2

状況の詳細に応じて、1 つ以上のクラスの機能の一部を抽象化するインターフェイスを定義できます。次に、循環依存を引き起こす可能性があると思われるインターフェイスを参照します。

于 2010-04-27T20:50:29.513 に答える