問題タブ [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 投票する
2 に答える
695 参照

iphone - iPhone でオブジェクト グラフをフラッシュする最適な方法

iPhone プラットフォームの Objective-C にオブジェクト グラフがあり、アプリを閉じるときにフラッシュを保持したいと考えています。グラフには約 100k ~ 200k のオブジェクトがあり、多くのループが含まれています (設計による)。このグラフをできるだけ早く読み書きできるようにする必要があります。

これまでのところ、NSCoder を使用してみました。これはループに苦労するだけでなく、グラフを永続化するのに時間がかかり、かなりの量のメモリが必要になります。これはおそらく、XML ドキュメントが内部で使用されているためです。SQLite データベースも使用しましたが、その多くの行をステップ実行するのにもかなりの時間がかかります。

Core-Data の使用を検討しましたが、core-data へのバッキング ストアが同じように機能すると考えているため、SQLite や NSCoder と同じ問題が発生するのではないかと心配しています。

このオブジェクトグラフの永続性を軽量な方法で処理できる他の方法はありますか?理想的には、Javaのシリアライゼーションのようなものが欲しいですか? 私はTokyo Cabinetを試すか、C 構造体の束によって占有されているメモリをディスクに書き込むことを考えていましたが、それは多くの書き直し作業になるでしょう。

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

entity-framework - WCF Ria Services/Linq2SQLDomainModelで負荷を熱心に処理する方法

ビュー(XAML)にデータバインドされたグリッドがあり、ItemsourceがReportsCollectionを指しています。Reportsエンティティには、3つのプリミティブといくつかの複合型があります。これらの3つは、datagridで期待どおりに表示されます。さらに、ReportsエンティティにはStoreタイプのプロパティがあります。GetReportsドメインメソッドを介してレポートをロードすると、プリミティブのみが返され、ある程度の深さのグラフ全体は返されないことがすぐにわかります。したがって、Storeプロパティもロードしたかったので、ドメインサービスで次の変更を行いました。

すぐに表示されるウィンドウから、ストアは期待どおりにロードされますが、クライアントに返されると、引き続きプルーニングされます。これはどのように修正できますか?

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

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

c# - オブジェクト グラフと Web サービス

私は Web サービスにまったく慣れていないので、オブジェクト グラフを処理できる Web サービスを作成する必要があります。私の標準的な例は、顧客番号を指定すると、Contacts のコレクション プロパティを持つ Company 型の「オブジェクト」を返す CRM Web サービスです。

すなわち:

次のインスタンスを返します。

Web サービスを作成して、Visual Studio から簡単に使用できるようにして、会社や関連する連絡先と直接連携できるようにできれば、非常に便利です...

これは可能ですか?

ありがとうフレドリック

0 投票する
3 に答える
4570 参照

java - Java のオブジェクト ツリー ナビゲーション言語

私が現在開発中のシステムでは、しばしばオブジェクト ツリーをナビゲートし、その状態と値に基づいてアクションを実行する必要があります。通常の Java では、これは面倒な for ループ、if ステートメントなどになります。XML の XPath と同様に、ツリー ナビゲーションを実現する別の方法はありますか? JXPath と OGNL があることは知っていますが、そのような目的のための他のライブラリを知っていますか? 特定のツリー ナビゲーション式のバイトコードを生成して Java ネイティブの for および if と同じくらい高速に処理するライブラリを知っていますか?

0 投票する
4 に答える
5267 参照

c# - オブジェクト グラフ全体を複製

このコードを使用してオブジェクトをシリアル化する場合:

関係をコピーしないことに気付きました。これを実現する方法はありますか?

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

configuration - StructureMap HowTo: ディープ オブジェクトの条件付き構築

条件付きで依存関係を作成するのが困難です。グーグルでは、BuildStack と Conditional Predicates を使用する良い例をまだ見つけていません。

レジストリで私がやっていることは次のとおりです。

ここに私が期待していることを示す単体テストがあります

これは、IFoo の正しい依存関係を使用して、StructureMap を AutoWire に変換したいものです。

GiveUsProperFoosWhenWeDontAskDirectlyテストに合格する方法がわかりません。

グラフでいつ必要なのかに関係なく、 必要なときFooAに初期化したいと思っています。条件述語の適切な構文は何ですか?IDoStuffWithFooAFooBIDoStuffWithFooB

0 投票する
3 に答える
185 参照

dependency-injection - なぜ人々は「オブジェクトのインスタンス化」ではなく「オブジェクトグラフのインスタンス化」についてDIフレームワークについて話すのですか?

「オブジェクトグラフのインスタンス化」というDIフレームワークについて常に説明しているDIに関する本を読んでいます。「オブジェクトのインスタンス化」ではなく、なぜこのように言うのですか?

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

nhibernate - 他のオブジェクトへの参照を持つ NHibernate エンティティをシリアライズ/デシリアライズするにはどうすればよいですか?

双方向の 1 対多の関係を持つ 2 つの NHibernate 管理エンティティがあります。

AStorageには多くの を含めることができBoxes、 a はBox常に a に属しStorageます。名前を編集したいBox'sので、JSON でクライアントに送信します。ParentStorageどのストレージにあるかを変更していないため、シリアル化しないことに注意してください。

クライアントは名前を編集し、BoxJSON として送り返します。サーバーはそれをデシリアライズしてBoxエンティティに戻します。

問題は、ParentStorageプロパティが null であることです。をデータベースに保存しようとするとBox、名前が更新されますが、 との関係も削除されStorageます。

BoxJSON データのサイズを最小限に抑えながら、 のようなエンティティを適切にシリアライズおよびデシリアライズするにはどうすればよいですか?

0 投票する
3 に答える
1662 参照

java - java: カスタム シリアル化のためのオブジェクト参照 ID の割り当て

さまざまな理由から、いくつかのかなり単純なオブジェクトをデータ ファイルにダンプするカスタム シリアライゼーションがあります。おそらく 5 ~ 10 個のクラスがあり、結果として得られるオブジェクト グラフは非循環的で非常に単純です (シリアル化された各オブジェクトには、シリアル化された別のオブジェクトへの 1 つまたは 2 つの参照があります)。例えば:

id フィールドはシリアル化のためだけにあるため、ファイルにシリアル化するときに、これまでにシリアル化された ID の記録を保持することでオブジェクトを書き込むことができます。次に、オブジェクトごとに、その子オブジェクトがシリアル化されているかどうかを確認して書き込みます。そうでないものは、データ フィールドとその子オブジェクトに対応する ID を書き込むことによって、最終的にオブジェクト自体を書き込みます。

私を困惑させているのは、IDを割り当てる方法です。考えてみると、ID の割り当てには次の 3 つのケースがあるようです。

  • 動的に作成されたオブジェクト -- ID は増分するカウンターから割り当てられます
  • ディスクからのオブジェクトの読み取り -- ディスク ファイルに格納されている番号から ID が割り当てられます
  • シングルトン オブジェクト -- オブジェクトは、常に存在するシングルトン オブジェクトを表すために、動的に作成されるオブジェクトの前に作成されます。

これらを適切に処理するにはどうすればよいですか?私は車輪を再発明しているように感じ、すべてのケースを処理するための十分に確立された技術が必要です.


明確化:いくつかの接線情報と同様に、私が見ているファイル形式はおおよそ次のとおりです(関連するべきではないいくつかの詳細をざっと説明します)。かなり大量の高密度バイナリ データ (数十/数百 MB) を処理するように最適化されており、その中に構造化データを散在させることができます。密なバイナリ データは、ファイル サイズの 99.9% を占めます。

このファイルは、コンテナーとして機能する一連のエラー修正ブロックで構成されています。各ブロックは、一連のパケットで構成されるバイト配列を含むと考えることができます。パケットを一度に 1 つずつ連続して読み取ることができます (たとえば、各パケットの終わりがどこにあるかを知ることができ、その直後に次のパケットが開始されます)。

したがって、ファイルは、エラー修正レイヤーの上に格納された一連のパケットと考えることができます。これらのパケットの大部分は、この質問とは関係のない不透明なバイナリ データです。ただし、これらのパケットのごく一部は、シリアル化された構造化データを含むアイテムであり、オブジェクト参照関係によってリンクされる可能性のあるデータ「島」で構成される一種の「群島」を形成します。

したがって、パケット 2971 にシリアル化された Foo が含まれ、パケット 12083 にパケット 2971 の Foo を参照するシリアル化された Bar が含まれるファイルがあるとします (パケット 0 ~ 2970 および 2972​​ ~ 12082 は不透明なデータ パケットです)。

これらのパケットはすべて不変です (したがって、Java オブジェクト構築の制約があるため、非循環オブジェクト グラフを形成します)。そのため、可変性の問題に対処する必要はありません。これらは、共通Itemインターフェースの子孫でもあります。私がやりたいことは、任意のItemオブジェクトをファイルに書き込むことです。Itemに既にファイルにある他の への参照が含まれている場合、Itemそれらもファイルに書き込む必要がありますが、まだ書き込まれていない場合に限ります。そうしないと、それらを読み返すときに何らかの形で合体する必要がある重複が発生します。

0 投票する
5 に答える
4727 参照

java - Java オブジェクト グラフ ビジター ライブラリ

優れた Java オブジェクト グラフ ビジター ライブラリを知っていますか?

オブジェクトとそのサブコンポーネントにアクセスし、いくつかの条件が一致したときにいくつかのアクションを実行したいと考えています。

使用例:

  • 巨大なドメイン オブジェクト グラフで、各 ID をnull
  • 巨大なドメイン オブジェクト グラフでは、それぞれSetTreeSet 同じ要素を含むインスタンスに置き換えます。

オブジェクト グラフをトラバースするのは難しいため、カスタム コードではなくライブラリが必要です。コレクション、配列、プロキシなどを処理する必要があります...これを実現するために XStream の一部を再利用することを考えましたが、それほど簡単ではないようです。Xstream ビジターは、オブジェクトの自己変更よりもオブジェクト変換を重視しています。