問題タブ [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.
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.
java-8 - Java 8 の循環依存関係分析 - 自動ビルドで使用するため
CI ビルドの一部として、JDepend を使用して循環パッケージ依存関係のレポートを自動的に生成するプロジェクトに取り組んでいます。(私は主にパッケージ レベルの依存関係に関心があるので、より焦点を絞ったレポートを取得するために、XSLT の縮小バージョンを使用しています。それ以外の場合は、通常の JDepend です。)
しかし、プロジェクトを Java 8 に移行しようとしています。JDK 1.8 コンパイラでコンパイルされたコードに対して JDepend が機能しないことがわかりました。JDepend はもはや積極的に更新されていないようです。
私は次のような代替品を見つけようとしています:
- JDK 1.8 でコンパイルされたクラスや jar で動作します。
- パッケージおよび/または jar レベルで循環依存関係を報告します。
- Ant から自動化できます (コマンド ライン実行可能ファイルで実行できます)。
- プロジェクトのホームページからリンクしてブラウザーで開くことができるレポートを作成します (例: HTML またはプレーン テキスト出力 - デスクトップ アプリではありません)。
- また、(できれば)周期的な依存関係だけに焦点を当てたレポートを生成するか、または生成するように構成/調整できます(XSLTを変更した場合、JDependができるように)。
dagger - Dagger での循環依存の解消
私はダガーに非常に慣れていません-それが私のアプリケーションで機能するかどうかはまだわかりません
特定の有名人に関する最新ニュースを返す検索ページがあります。
人気の有名人を検索したときに結果がページに表示されることを確認するテストを作成しました。
にはpage
、コンストラクターsearchField
に必要な がありpage
、テストに使用する Web ドライバーがそれを選択できるようにします。
有名人検索ページのテスト
有名人検索ページ
有名人検索ページ モジュール
ページ
テキストフィールド
問題は、それpage
が必要searchField
であるが、searchField
必要であるということpage
です。この循環依存を克服するにはどうすればよいですか?
searchField
CelebritySearchPage 内で初期化できません
perl - Perlを使用して有向グラフのすべての循環依存関係を見つける
Perl スクリプトが有向グラフのすべての循環ノードを検出できるという問題の解決策を探しています。 たとえば、次のグラフがあります。
コードの残りの部分では、循環依存関係に関係するすべてのノードを収集するための論理的な助けが必要です。たとえば、私の場合、ノード「A」には循環依存関係があります。周期的なエッジまたは依存関係を見つけるために、dependBy 関数を再帰的に実装するにはどうすればよいですか?
design-patterns - プロキシパターンを使用せずに循環依存を打破および改善する方法は?
私のクラスはあまりにも多くの他のクラスに依存しており、それを改善する方法が見つかりませんでした。問題は次のようになります。
ProductRepo、ProductFactory、および ImageFactory クラスがあります。ProductRepo は、products テーブルで db を実行し、行を配列としてフェッチします。この配列は ProductFactory に渡され、Product Modal が作成されます。製品モーダルには、それにリンクされた画像もあります。
クライアントコード:
だから、私は次の問題があります:
循環依存 ProductRepo --> ProductFactory --> ProductRepo
これをスキップするには、setter インジェクションを使用するか、プロキシ パターンを使用します。しかし、それは良い解決策ではないと思います。皆さんは、このような問題をどのように処理していますか?
- ProductRepo は ProductFactory と ImageFactory の両方に依存します。これは、複数の工場に依存することをお勧めしますか?
問題は明確だと思います。:) ありがとうございました
sprite-kit - SpriteKit ゲーム クラスの循環依存関係を解決する方法
1. SKSCene を拡張するクラス GameScene :
そして、SKSpriteNode を拡張するクラス Hero:
これらの 2 つのクラス (Hero と GameScene) がお互いを認識し、お互いのメソッドを使用するようにしたい (両方のクラスのメソッドを記述するための XCode のオートコンプリート機能は言うまでもありません。どういうわけか、これは XCode SpriteKit では許可されていません。なぜなら、循環的な依存関係があるからです) 、私は理解できますが、そこになかったらいいのにと思います。
java - 設計における循環依存を解消する方法
私は、お互いに依存している2つのクラスがあり、どこにあるのかという問題の設計ソリューションを探していclass Customer
ますclass Order
:
Customer
は注文のリスト (1 対 N) を持つことができOrder
、指定された顧客 (1 対 1) を持ちます。
この種の依存関係を解消するためのベスト プラクティスは何ですか?