PluralsightコースDomain-Driven Design Fundamentalsには、集約の設計がどのように行われるかの例があります。 この例では、診療所での患者の予定が含まれています。予約は関係を有する。医師、または試験室に送付してください。 この例では、アポイントメントがDoctorとExamRoomの総ルートであってはならないとの分析が先行しています。 そして、設計進化の一歩は、DoctorとExamRoomオブジェクトへのオブジェクト参照を持つAppointmentから、これらの他のエンティティ(DoctorIdとExamRoomId)のプリミティブIDを保持することになります。 「オブジェクト参照ではなく関連概念のIDを含めるだけで、予定を作成したり変更したりすることで、予定を維持するときにシステムに与える影響は最小限に抑えられます」オブジェクト参照対DDD集計内のIDによる参照
私の最初の質問:これは共通のデザインパターンですか?私が正しく理解すれば、オブジェクトAがオブジェクトBに関係するが、Aで操作するとBを変更することは決してあってはならず、Bそのものではなく、そのIDで参照する必要があります。あなたがお勧めするものですか?
私の2番目の質問:これはDDDと関係がありますか?私はアポイントメントが医者の根源になるべきではなく、それがオブジェクト参照を保持できないということを意味しないか、何かが欠けているということですか?
この前に同じ質問がありましたが、ヴォーンの3つのシリーズ集約的なデザインがある程度の光を放っていました。しかし、代替案を知るためにトピックを再訪し、いつルールを破ることが大丈夫ですか? –