2

現在、 Applying Domain-Driven Design with Examples in C# and .NET を読んでいます。ドメイン モデルの最初のスケッチアップに関して 2 つの質問があります。

  1. 私は英語を母国語としないので、ビジネス分野または一般的な英語で「リファレンス パーソン」とは正確には何を意味しますか?
  2. 作成者は、「参照人物」クラスがダイアグラム上の 2 つの異なる集合体に表示されているにもかかわらず、実行時には同じインスタンスであるとスケッチ アップにコメントしました。集約ルートがガベージコレクションされた場合、そのインスタンスが収集され、他の集約が不安定になることはありませんか?
4

1 に答える 1

2

ここに私たちが話している写真を投稿します:

ここに画像の説明を入力してください

  1. 顧客は個人ではなく組織である場合があり、連絡できるReferencePersonのリストがある場合があります。組織を代表するのは参照者と言えます。(集計1)

    顧客が注文したいとき、私達はまた私達が話している人を正確に知る必要があります。(集計2)

  2. 慎重に読む必要があります。著者は本の中で、「クラスReferencePersonは図4-13の2つの異なる集合体にありますが、インスタンスはそうではありません」とコメントしています。これは、データベースから注文と顧客を同時にロードする場合、Order.ReferencePersonとCustomer.ReferencePersons [index]は、同じ人物であっても、メモリ内の同じオブジェクトを指さないことを意味します。

さらに、それらが同じインスタンスを指している場合でも、.Netオブジェクトでは、それらへの参照がない場合にオブジェクトが収集されます。アグリゲート1が収集されたが、アグリゲート2にまだReferencePerson Aへの参照がある場合、Aはまだ収集されていません。

于 2013-03-01T14:25:43.013 に答える