3

(government id) オブジェクトPassengerを含むオブジェクトがあるとします。Passportから取得PassengerしていPassengerRepositoryます。PassengerRepositoryサーバーへのリクエストを作成し、受信したデータを解析してリポジトリ内に保存するよりもデータ (json) を取得します。

Passportエンティティとして保存して配置したいので混乱しましPassportRepositoryたが、パスワードに関するすべての情報は、上記で受け取ったjson内に含まれています。

私はPassportVO として使用し、Passenger(集約) オブジェクト内に配置する必要があると思います。または、 includeおよびPassengerServiceになるを作成できます。PassengerRepositoryPassportRepository

何か案は?

4

2 に答える 2

5

値オブジェクトは、その属性によって定義されるオブジェクトです。同じ属性値を持つ 2 つのインスタンスは、本質的に同じ値です。これがあなたのPassportタイプに適している場合、それは VO である必要があります。

それが実際に VO である場合は、並べ替えられます。集計を介してのみアクセスできます。

ただし、これが当てはまらず、ドメイン内のパスポートの ID が、属性の変更 (たとえば、誰かが名前を変更した場合) に関係なく一定のままである場合、ドメイン内でPassportエンティティのみを行うかどうかを検討する必要があります。に付いていても付いていなくても意味がPersonあります。このコンテキストでのみ意味がある場合は、集約を介してのみアクセスする必要があります。

于 2012-11-07T13:08:42.873 に答える
0

パスポートはVOだと思います。パスポートを交換することができます。つまり、新しいパスポート(新しいシリアル)が発行されます。パスポートは、それぞれの固有のエンティティを追跡する必要があるため、政府専用のエンティティだと思います。残りの私たちにとって、新しいパスポートが古いパスポートと同じIDを持っているかどうかは気にしません。私たちは有効なパスポートを持っていることに関心があります。

于 2012-11-07T14:09:40.680 に答える