架空のドメインモデルを具体化する一方で、ドメインオブジェクトを関連付けるためのより良いアプローチは、親ドメインオブジェクトにポインタ(子の識別子)を含めることであるのか、それとも親オブジェクト内にコンポジットを構築するための子オブジェクト。
それぞれのアプローチの長所と短所、主にサイズと複雑さのトレードオフがわかります。遅延読み込みを行う必要性を予期していないため、識別子関係のアプローチに傾倒する傾向があります。
直接関連していませんが、ドメインオブジェクトは単純なPOCO(.NET-POJOと同等)です。最終的にアプリケーションドメイン間で交差する可能性が高いため、これらは明示的にシリアル化可能としてマークされます。私の意見では、LINQはリレーショナル識別子のアプローチを実行可能にします。LINQが利用できない場合は、まったく考慮しません。
どんな考えでもいただければ幸いです!
編集:識別子のみのアプローチに傾倒する可能性のあるいくつかの考え。まず、オブジェクトのキャッシュポリシーです。ポリシーで定義されているように、親オブジェクトと子オブジェクトのTTLが異なる可能性があります。2つ目は、再利用可能なデータの場合、同じ子が複数の親によって保持される可能性があるという点で、参照の保持によってオブジェクトの再利用が制限される可能性があることです。これらは両方とも、シリアル化されたオブジェクトの全体的なサイズにも関係しています。