問題タブ [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.
java - 途中でクラスを使用してJPAで循環依存関係を実装する方法
Java/Spring で次の問題があります。
より具体的なケースで問題を最大限に単純化しようとしました。要約すると、国というクラスがあり、それぞれの国が多くの都市にリンクされています。各都市は、中間クラスの道路で別の都市にリンクされています。
私はそのように実装しましたが (以下を参照)、Road オブジェクトに冗長性があり、都市と国属性によって Country にリンクされているため、これでは満足できません (たとえば、複製、すなわち、道路パリ-リヨンと道路リヨン-パリ)。
別の精度ですが、クロスカントリーはありません。国の下のすべての道路と都市は同じ国に属しています。
この重複した参照を避けるために、Road クラスの Country クラスへの参照を削除することを想像できますが、これは @OneToMany またはクラス City の Road への参照を追加することを意味します。道路が 2 つの都市を結んでいるため、循環参照になります (以下を参照)。
私のモデルを作るためのより良い方法を見つけるのを手伝ってくれませんか?
どうもありがとう!
android - 推奨されるアーキテクチャを使用すると、ダガーは循環依存性を与えます
ここで提案されているアーキテクチャを使用して Android アプリを構築したいと考えています。ただし、ガイドに従い、すべてのクラスに短剣を使用した後、次のように要約された循環依存関係が発生しました。
android.app.Application <- (レトロフィット) ServerClient <- UserRepository <- UserViewModel <- UserActivity <- somethingsomething <- android.app.Application
より詳細なバージョンは次のとおりです。
なぜ問題があるのか 理解しています。私の依存関係はバックエンドからフロントエンドへの方向に従い、バックエンドの「リーフ」では、ファイルシステムにアクセスしてキーストアとルーム DB をロードするために Android コンテキストが必要です。私が疑問に思っているのは、私は単にアーキテクチャのレイアウトに従っているだけなので、これに最初に遭遇することはできないということです。どうすればこのサイクルを断ち切ることができますか? 私のお気に入りのカットは、アクティビティとアプリケーションの間です。AFAIU アプリケーションは Android のアクティビティなしで存在できるからです。
アクティビティを挿入するために、短剣ガイドに従いました。残りは単純な (そして機能する) 短剣構成です。
java - 相互に必要な 2 つのクラスをコンパイルできますか?
相互にインポートする 2 つのクラスがあるパッケージを作成しています。
それはうまくいきますか?私がやっていることは次のようなものです:
これが機能する場合、これと同様のシナリオまたはケースで機能しない可能性があるものはありますか? (両方のクラスで他のクラスのオブジェクトを作成するコンストラクターを持つようなものですか、それとも何か他のものですか?)
助けてくれてありがとう!