問題タブ [object-graph]

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 投票する
1 に答える
1295 参照

ruby - Ruby でネストされた YAML をネストされた配列と OpenStructs に変換するにはどうすればよいですか

一連のネストされたハッシュ (任意の深さにネストされた) を一連のネストされた OpenStructs に変換するにはどうすればよいですか? 大きな YAML ファイルを読み込んでいますが、楽しめませんaccessing['everything']['like']['this']

Googleを使用して部分的な解決策をいくつか見つけましたが、これはここで良い質問になると思いました.

http://andreapavoni.com/blog/2013/4/create-recursive-openstruct-from-a-ruby-hashから見つけた解決策の 1 つを次に示します。

このソリューションの問題は、配列が考慮されていないことです。

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

entity-framework - ヒュージ オブジェクト グラフの熱心な読み込みによる柔軟性、SQL の NHibernate HQL TOP N

POCO ドメイン オブジェクトを渡す必要があります (熱心に読み込まれます)。Entity Framework と NHibernate の両方を分析しましたが、解決策が見つかりません!

基礎となる SQL とクエリを NHibernate で分析したところ、

SQL には実装されていませんTOP Nが、常にすべてのデータを .NET にダウンロードしてからサブセットを取得します (非常にばかげています)。

巨大なテーブルに複雑なクエリを送信するにはどうすればよいでしょうか?

ICreteria( SetMaxResultsSQL で実装) とIQueryOver( SQLTake()では impl) は柔軟性がありません。たとえば、熱心な読み込みは左結合でのみ可能です。また、カスタム サブクエリ、トップ、フィルタリング、オーダー バイなどもあります。明らかに、SQL の柔軟性ははるかに高いレベルにあります。

Entity Framework は流動的で、魔法を実現しているように見えますが、SOO-O DAMN SLOW!

私が考えることができる最も柔軟な熱心な読み込みは、1 週間の作業の後、プリロードされたandTOP Nによって実装されたHQLです。IListSetParameterList

より良い解決策はありますか?

0 投票する
0 に答える
150 参照

java - オブジェクト グラフのシリアル化された出力にオブジェクト メタデータを含める

要件:アプリケーションの実行中のさまざまな時点で、Java アプリケーションのオブジェクト グラフをダンプする必要があります。しかし、最も重要なことは、ダンプにはグラフ内のすべてのオブジェクトのメタデータ (例: から取得した参照 ID) が含まれている必要があることSystem.identityHashCode(object)です。

私が試したこと:シリアライゼーションは、オブジェクトグラフを取得するためのgotoソリューションであることがわかりました。

Java、JAXB、XStream に組み込まれたシリアル化機能など、いくつかの異なるソリューションを試しました。しかし、これらのライブラリを取得してオブジェクトのメタデータ (シリアル化されたオブジェクトの元の参照 ID など) を吐き出す方法については、私にはわかりません。

質問:シリアル化されるオブジェクト グラフ内の各オブジェクトに関する追加情報/メタデータを含める簡単な方法があるかどうか疑問に思っていましたか?

によって取得されたオブジェクトの参照 ID を具体的に保存することに興味がありますSystem.identityHashCode()が、一般に、データを保存するためのポインターはすべて受け入れられます。

そのようなメタデータを追加できない場合は、その情報も役立ちます。

System.identityHashCode()注:メソッドから取得した参照 ID が異なるオブジェクト間で一意である必要はないという知識にもかかわらず、この質問をします。

PS私はJavaシリアライゼーションの初心者です。

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

javascript - オブジェクト グラフの JavaScript ディープ コピー

JavaScript でオブジェクトのディープ コピーを作成する関数が必要です。各オブジェクトは、より大きなグラフの一部です (したがって、ディープ コピー機能が必要です)。例えば、

グラフにはループがありません。

私の考えは、グラフを深さ優先検索し、各ノードのハッシュとそのコピーを格納する辞書を使用することでした。各ノードにアクセスすると、コピーの親がディクショナリから検索され、ノードがその親の子コレクションに追加されます。私の問題は、この方法が機能するためには、各ノードのメモリ位置を把握できる必要があることです。

これは私の一般的な考えでした:

ここで大きな問題となるのが辞書です。ハッシュコード関数でさえオブジェクトごとに一意にすることはできないため、メモリの場所で実際にハッシュする必要があります。

これを行うより良い方法はありますか?

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

android - Dagger: ビルドに応じて異なる ObjectGraph をインスタンス化する方法

Dagger を使用して Dependency Injection を学習しようとしています。

あなたのクラスでは、クライアント コードが依存するオブジェクトを直接インスタンス化するのではなく、@Inject で宣言し、モジュールを介して ObjectGraphs を作成し、ObjectGraph からオブジェクトを取得することを理解しています。

ただし、そのコードはすべて、ObjectGraph の作成に使用しているモジュール (この例では DripCoffeeModule) に依存しています。

これを Android アプリで使用したいと考えています。デバッグ ビルドではクラスの特定の実装が必要ですが、リリース ビルドでは実装が異なります。

どうすればいいですか?モジュールが必要な特定の実装を提供するように build.xml ant スクリプトを設定するにはどうすればよいですか? (または正しいモジュールを選択する)...

ありがとうございました。

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

c# - ネストされたオブジェクトを持つ JSON.NET CustomCreationConverter

これは私がこのサイトで尋ねる最初の質問なので、何か見逃していたらすみません。

JSON.NET を使用して複雑なオブジェクト グラフを逆シリアル化する際に問題があります。私のクラス階層は(簡略化して)次のとおりです。

クラスにはデフォルトの ctor はありませんが、例に示すように、専用のカスタム逆シリアル化 ctor (パラメーターを持つ他のパブリック ctor の横) があります。インスタンスを作成するために、次のようなカスタム作成コンバーターを作成しました。

CreateUsingDesrializationConstructor() 拡張メソッドは、特殊な逆シリアル化 ctor を探し、ctor を使用してインスタンスを作成します。

JSON.NET シリアライザー インスタンスへのコンバーターに追加しました。

TestBusinessObject を逆シリアル化すると、デバッガーから、コンバーターがインスタンスを作成できるかどうかをすべての型 (TestBusinessObject、NestedObject、およびその他の多くの型) について尋ねていることがわかります。しかし、私のコンバーターは、新しい TestBusinessObject インスタンスを作成することのみを要求されます。デシリアライゼーション ctor にはワイヤード ロジックがあるため、ネストされた NestedObject インスタンスを作成することは要求されません。

ここで私が間違っているのは、JsonSerializer に、ルート (トップレベル) オブジェクトではなく、すべてのオブジェクトに対してコンバーターを使用するように指示する方法ですか?

編集: BusinessObjectBase インスタンスが私が知らない型のオブジェクトに含まれていると、考えはさらに複雑になります。この場合、コンバーターが呼び出されることも必要です。

前もって感謝します、カルステン

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

dagger - Flow/Mortar を使用した Dagger と Object Graph のスコーピング

だから私は今週末、Mortar と Flowに多くの時間を費やしてきました。主に、Mortar が大きく依存している Dagger の ObjectGraph Scoping についてよく理解していなかったため、最初に考えていたよりも少し複雑であることがわかりました。私はこれについて Dagger のサイトで見つけられる限り多くのことを読みましたが、特に Dagger に関連する場合、この主題に関する情報が不足していることに気づきました。

だから私はいくつかの質問があります: 1. @Singleton のスコープの例を見る:

この場合のプレゼンターは、内部クラスであるため、特にこのモジュールにスコープされていますか? 2. そのインスタンスがこのオブジェクト グラフでのみ作成され、グローバル アプリケーション オブジェクト グラフでは作成されないことを確認するにはどうすればよいですか? 2. プレゼンターが大きすぎて、別のクラスに移動したい場合はどうすればよいですか? このモジュールだけにスコープを設定するにはどうすればよいですか? 3. サンプルの Module クラスのいくつかは静的であり、他のものはそうではないことに気付きました。これはスコーピングに影響しますか? 4. Dagger のオブジェクト グラフをよりよく理解するための詳細情報はどこで入手できますか? include、inject、addsTo、およびそれらが ObjectGraph の作成などでどのように使用されるかについて、よりよく理解する必要があります。