問題タブ [cyclic-dependency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3048 参照

go - Registering packages in Go without cyclic dependency

I have a central package that provides several interfaces that other packages are dependent on (let us call one Client). Those other packages, provide several implementations of those first interfaces (UDPClient, TCPClient). I instantiate a Client by calling NewClient in the central package, and it selects and invokes the appropriate client implementation from one of the dependent packages.

This falls apart when I want to tell the central package about those other packages, so it knows what clients it can create. Those dependent client implementations also import the central package, creating a cyclic dependency which Go does not allow.

What's the best way forward? I'd prefer not to mash all those implementations in a single package, and creating a separate registry package seems overkill. Currently I have each implementation register itself with the central package, but this requires that the user knows to import every implementation in every separate binary that makes use of client.

0 投票する
1 に答える
1392 参照

java-8 - Java 8 の循環依存関係分析 - 自動ビルドで使用するため

CI ビルドの一部として、JDepend を使用して循環パッケージ依存関係のレポートを自動的に生成するプロジェクトに取り組んでいます。(私は主にパッケージ レベルの依存関係に関心があるので、より焦点を絞ったレポートを取得するために、XSLT の縮小バージョンを使用しています。それ以外の場合は、通常の JDepend です。)

しかし、プロジェクトを Java 8 に移行しようとしています。JDK 1.8 コンパイラでコンパイルされたコードに対して JDepend が機能しないことがわかりました。JDepend はもはや積極的に更新されていないようです。

私は次のような代替品を見つけようとしています:

  • JDK 1.8 でコンパイルされたクラスや jar で動作します。
  • パッケージおよび/または jar レベルで循環依存関係を報告します。
  • Ant から自動化できます (コマンド ライン実行可能ファイルで実行できます)。
  • プロジェクトのホームページからリンクしてブラウザーで開くことができるレポートを作成します (例: HTML またはプレーン テキスト出力 - デスクトップ アプリではありません)。
  • また、(できれば)周期的な依存関係だけに焦点を当てたレポートを生成するか、または生成するように構成/調整できます(XSLTを変更した場合、JDependができるように)。
0 投票する
1 に答える
1554 参照

dagger - Dagger での循環依存の解消

私はダガーに非常に慣れていません-それが私のアプリケーションで機能するかどうかはまだわかりません

特定の有名人に関する最新ニュースを返す検索ページがあります。

人気の有名人を検索したときに結果がページに表示されることを確認するテストを作成しました。

にはpage、コンストラクターsearchFieldに必要な がありpage、テストに使用する Web ドライバーがそれを選択できるようにします。

有名人検索ページのテスト

有名人検索ページ

有名人検索ページ モジュール

ページ

テキストフィールド

問題は、それpageが必要searchFieldであるが、searchField必要であるということpageです。この循環依存を克服するにはどうすればよいですか?

searchFieldCelebritySearchPage 内で初期化できません

0 投票する
1 に答える
585 参照

perl - Perlを使用して有向グラフのすべての循環依存関係を見つける

Perl スクリプトが有向グラフのすべての循環ノードを検出できるという問題の解決策を探しています。 たとえば、次のグラフがあります。

コードの残りの部分では、循環依存関係に関係するすべてのノードを収集するための論理的な助けが必要です。たとえば、私の場合、ノード「A」には循環依存関係があります。周期的なエッジまたは依存関係を見つけるために、dependBy 関数を再帰的に実装するにはどうすればよいですか?

0 投票する
2 に答える
256 参照

design-patterns - プロキシパターンを使用せずに循環依存を打破および改善する方法は?

私のクラスはあまりにも多くの他のクラスに依存しており、それを改善する方法が見つかりませんでした。問題は次のようになります。

ProductRepo、ProductFactory、および ImageFactory クラスがあります。ProductRepo は、products テーブルで db を実行し、行を配列としてフェッチします。この配列は ProductFactory に渡され、Product Modal が作成されます。製品モーダルには、それにリンクされた画像もあります。

クライアントコード:

だから、私は次の問題があります:

  1. 循環依存 ProductRepo --> ProductFactory --> ProductRepo

    これをスキップするには、setter インジェクションを使用するか、プロキシ パターンを使用します。しかし、それは良い解決策ではないと思います。皆さんは、このような問題をどのように処理していますか?

  2. ProductRepo は ProductFactory と ImageFactory の両方に依存します。これは、複数の工場に依存することをお勧めしますか?

問題は明確だと思います。:) ありがとうございました

0 投票する
1 に答える
66 参照

sprite-kit - SpriteKit ゲーム クラスの循環依存関係を解決する方法


1. SKSCene を拡張するクラス GameScene :

そして、SKSpriteNode を拡張するクラス Hero:

これらの 2 つのクラス (Hero と GameScene) がお互いを認識し、お互いのメソッドを使用するようにしたい (両方のクラスのメソッドを記述するための XCode のオートコンプリート機能は言うまでもありません。どういうわけか、これは XCode SpriteKit では許可されていません。なぜなら、循環的な依存関係があるからです) 、私は理解できますが、そこになかったらいいのにと思います。

0 投票する
2 に答える
296 参照

java - 設計における循環依存を解消する方法

私は、お互いに依存している2つのクラスがあり、どこにあるのかという問題の設計ソリューションを探していclass Customerますclass Order:

Customerは注文のリスト (1 対 N) を持つことができOrder、指定された顧客 (1 対 1) を持ちます。

この種の依存関係を解消するためのベスト プラクティスは何ですか?