問題タブ [circular-reference]
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.
c# - IoCを介して循環参照を解決する方法は?
重複の可能性:
依存性注入は循環依存を防ぐことができますか?
dal、SharePointとの統合、例外処理などのさまざまなサービスを提供するフレームワークを開発しています。
私はIoCでそれを行う必要があり、私はこのアプローチに不慣れです。[私がどのように行っているかについて循環参照があるようです]
だから私の意見では、3つのタイプのプロジェクトがあります
- インターフェース:できれば別のプロジェクト
- インターフェイスを実装する具体的なクラスプロジェクト(例外、dal、統合などのサービスプロジェクト)
- bootstrapper \ conifiguration(configurator):できれば別のプロジェクト。「インターフェース」プロジェクトにある場合、IoCはインターフェースと具象クラスの両方の参照を必要とするため、具象クラスプロジェクトとの循環参照を作成します。
今ここにあるものです
具象クラスは、循環参照を作成することになるため、他の具象クラスの参照を持つべきではありません(循環参照がある場合、IoCの目的全体が失われるのではないでしょうか、それともここで間違っていますか?)。
次に、開始プロジェクト(単体テスト、WCFサービスなど)は、最初にブートストラッパーをロードしてすべてのタイプを登録する必要があるため、スタートアッププロジェクトにブートストラッパープロジェクトを追加する必要があります。ユニティコンテナーのインスタンス[シングルトン]を作成して、すべてを登録します。タイプ。タイプを解決するには、他のすべてのサービスプロジェクトで同じインスタンスが必要です。
そのため、タイプ解決のためにブートストラッパープロジェクトをサービスプロジェクトに追加する必要があります。このアプローチは、ポイント1で述べたのと同じ問題が発生するため、正しくありません(すべてのサービスプロジェクトには、サービスプロジェクトの参照が含まれます)。
それについてどうやって行くのですか?登録時のプロパティインジェクションにより、各具象クラスのプロパティとしてUnityContainerを追加してみました。これが正しい方法かどうかさえわかりません。私の主な関心事は、結果を達成するためのベストプラクティスです。したがって、これをガイドしていただければ、本当に感謝しています...
前もって感謝します!
パフォーマンス、構成、コード内タイプの登録、またはインスタンス登録のどちらの方法を好むか、もう1つありますか?
必要に応じて、デモプロジェクトをアップロードできます。私は一つのことを説明することができます。Dalは例外マネージャーを使用し、例外マネージャーはユーザーフレンドリーなメッセージにトランスレーターを使用し、トランスレーターはユーザーフレンドリーなメッセージを取得するためにDALを使用します。これは、循環参照がある1つのケースです。しかし、お互いに参照を追加すると、多くのことがあります。
[更新-サンプルコードが含まれています]IoCはまだ実装されていないため、IoCへの参照は表示されません。publicbool Update(){
bool result = false;
json - Many TO Many休止状態の双方向マッピングによって引き起こされるjsonシリアライザーの循環参照を解決するには?
POJO を JSON にシリアル化しようとしていますが、循環参照の問題で立ち往生しています。@JsonBackReference
andを使用して 1 対多および逆の関係を処理する方法を知っています@JsonManagedReference
。
私の問題は、双方向の多対多の関係 (たとえば、学生は多くのコースを持つことができ、各コースには多くの学生が登録される可能性があります) であり、親は子を参照し、子は親を参照し、ここでシリアライザが停止します。私の理解@JsonBackReference
では、プロパティの値の型は Bean でなければならないため、ここでは使用できません。コレクション、マップ、配列、または列挙型にすることはできません。
このシナリオをどのように処理できるか教えてください。
excel - AS2: パーセンテージ計算 (循環参照を含む) を X 回反復する方法は?
Excel / 数学の達人への質問です。
循環参照のある数式に基づく計算がうまくいきません。計算は Excel ワークシートで行われました。
Excel ファイルから次の方程式を導き出しました。
= 240000
b = 1400 + c + 850 + 2995
c = CEIL( ( a + b ) * 0.015, 100 )
反復後、A+B の合計は 249045 (b = 9045) になるはずです。
Excel ファイルでは、これにより循環参照が提供され、4 回の反復が許可されるように設定されています。
私の問題: AS2 で計算を再作成し、4 回繰り返します。
私はこの問題を分解できるほど数学が得意ではありません。
誰でも私を助けることができますか?
編集:変数 a の数値の書式を変更しました。申し訳ありませんが、私は DK 出身で、ピリオドを 1000 単位の区切り記号として使用しています。混乱を避けるために削除しました:-)
2 番目の編集: 3 番目の式、C は Excel の CEIL() 関数を使用して、数値を最も近い 100 分の 1 に丸めます。
dependency-injection - IoCと循環参照を使用したこの問題の最適な設計は何ですか
簡単に説明してみます。
4つのプロジェクトを含むソリューション(c#4.0)があります
- フレームワーク
- DAL
- ドメイン
- ウェブアプリケーション
だから私の質問は:
フレームワークはUnityIoCを構成するのに適切な場所ですか?xmlではなくコードを介して構成したいので、FrameworkはDALの参照を知る必要がありますが、DALはすでにFrameworkを知っています。
すべてのプロジェクトがFrameworkを認識しているので、IoCをどこで構成しますか?
c# - 循環参照のある階層にインスタンスを一度だけロードする方法は?
次のようなオブジェクト構造があります。
Relationship には、親インスタンスと子インスタンスに関するすべての情報が含まれています。親と関係を構成するすべての子インスタンスで同じ Relationship インスタンスを共有したいと考えています。
データベースからエンティティをロードするときは、一番上のエンティティから始めて、関係をロードします。構築中の関係をキャッシュして、同じインスタンスを子に再利用できると考えました。しかし、これはすべての子エンティティをロードする必要がある関係を作成するためには機能しません。そのため、各子エンティティは、作成される前に現在子を取得しようとしているのと同じ関係を再作成しようとするため、すべてを作成することになりますリレーションシップをキャッシュに追加する前に、ツリー内で自分の下にあるリレーションシップ インスタンスを確認します。
子供を関係の設定可能なプロパティにせずにこれを回避できる方法はありますか?
python - ルールに従って、ただし循環参照を解決するためにアイテムを繰り返して並べ替えを実行するにはどうすればよいですか?
私の質問をより明確に説明するために、私が直面している実際の事例を説明することから始めます。
文章を構成するために、選択的に点灯できる多くの単語を含む物理的なパネルを構築しています。これは私の状況です:
- 表示したい文章をすべて知っています
- すべての文を表示できる、注文された単語の最短セットを見つけたい
例:
私は、すべての文で使用されているすべての単語のセット内の各一意の単語について、その左側または右側にどの単語を配置するかを見つける「位置規則」を使用して、この問題にアプローチしようとしました。上記の例では、「on」という単語のルールセットは「left(A、dog、cat、is)+ right(the、table)」になります。
このアプローチは些細なケースでも機能しましたが、私の実際の状況には、私を立ち往生させた2つの追加の問題があり、それは両方とも言葉を繰り返す必要性と関係があります。
- 文中の繰り返し:「猫はテーブルの上にいます」には2つの「the」があります。
- 循環参照:「赤い猫」+「私の猫はテーブルの上にいます」+「そのテーブルは赤い」という3つの文のセットでは、ルールでは、REDはCATの左側にあり、CATはTABLEの左側とTABLEはREDの左側にある必要があります。
そのための私の質問は次のとおりです。
この種の問題を研究して解決するアルゴリズムのクラスは何ですか(またはさらに良い:特定のアルゴリズムは何ですか)?いくつかのリファレンスまたはそのコード例を投稿できますか?
編集:複雑さのレベル
最初の回答から、実際の複雑さのレベル(つまり、文が互いにどれだけ異なるか)が重要な要素であるように見えます。だから、ここにそれに関するいくつかの情報があります:
- 表現したい文が約1500あります。
- すべての文は、基本的に、数語だけが変更される最大10文の制限されたプールの変更です。前の例に基づいて、私のすべての文章が「家具に対する誰かのペットの位置」または「誰かの家具の物理的な説明」のいずれかについて話すのと少し似ています。
- すべての文を構成するために使用される一意の単語の数は100未満です。
- 文の長さは最大8語です。
このプロジェクトではPythonを使用していますが、適度に読みやすい言語(例:難読化されていないperl!)であれば問題ありません。
よろしくお願いします!
c# - この「循環参照」を修正する方法 c#
私は自分のオブジェクトを保持するためのクラス ライブラリを持っているので:
xxxCommon\Objects\Customer.cs
xxxData\DC\CustomerDC.cs (データ コンポーネント)
- このクラスは多くのプロシージャを呼び出し、xxxCommon\Objects のオブジェクトを返します
私の主な問題は循環参照です。「遅延」ロードを行うには、xxxData\DC の関数に電話属性の取得を設定する必要があります。これを回避するにはどうすればよいですか?
node.js - Nodejsで、reqオブジェクトをconsole.logすると、[Circular]は何を参照しますか?それを決定する方法
Nodejsで、reqオブジェクトをconsole.logにすると、[Circular]はどういう意味ですか?
これは、基本的なnodejsの例に対するconsole.log(req)の例です。request.socket._readWatcher.socketが[Circular]であることに注意してください。それはそれ自体を指すという意味ですか?どうすればそれを逆参照できますか?
アップデート
どうやら私が思っていたほど明確ではなかったので、どの要素が循環的に参照されているかをどのように逆参照できますか?それは常に親要素ですか?
また、昨夜、Utilsクラスとinspectメソッドについて学びました。これはおそらく、私が合理的に知りたいと思うよりもはるかに多くの情報を私に与えるでしょう;)
mysql - MySQLの1対多の親子テーブル循環関係hp
私はこの問題に直面しています:
親テーブルと子テーブルがあり、1人の親が複数の子を持つことができます。標準的なストーリーです。
これらは制約です:
- 各親には少なくとも1人の子供が必要です。
- 各親には1人のお気に入りの子供が必要です。
- 各親は1人の最も嫌いな子供を持つことができます
これをSQLで設計するにはどうすればよいですか?
循環関係があるため、標準の親子テーブルを使用できるかどうかはわかりません。
ブリッジテーブルの使用を考えていましたが、これらの制約をモデル化する方法がわかりません。
編集:明確にするために、ここに問題のコンテキストの一部があります:
Priceテーブル(子)とPriceGroupテーブル(親)があります。
PriceGroupには複数の価格があり、1つの必須のmainPrice(favouriteChild)と1つのofficialPrice(leastFavouriteChild)を持つことができます。
以下は問題とは関係ありませんが、コンテキストに光を当てます。価格は参照する製品に従ってグループ化され、1つの製品は複数の価格を持つことができます。これらは価格グループにグループ化され、各グループは参照する必要があります。メイン価格、および公式価格(ある場合)。
node.js - nodejsに循環参照オブジェクトを保存することは可能ですか?
受信リクエストをすべてのサーバー間でスケーリングしたいと考えています。
グローバル変数を宣言して、すべての着信要求を配列に格納することで、クラスターで実行できます。
しかし、別のサーバーに別のインスタンスを作成すると、ストア要求を取り戻すことができませんでした:
memcached/redis を使用して循環オブジェクト (リクエスト) を保存する方法を見つけましたが、しようとすると
とにかく循環参照オブジェクトをスケーリングする必要がありますか?