私はDDDの初心者で、デザインのすべての原則に頭を下げるために、小さくてシンプルなドメインを扱っています。DDD内のエンティティ間の関係
私はこの単純なドメインを持っています:施設(Institution
)と利用可能なWiFiスポット(Place
)はデータベースに保存されています。施設なしでは存在する場所はありません。機関には管理者のユーザー譲受人(User
)があり、新しい場所の追加、既存の場所の再割り当てまたは削除ができます。
Code can be found here。値オブジェクトの検証は、今のところ残っています。
これはMathias Verraes on child entitiesの影響を受けます。
正しいDDDデザインですか?少なくともそれに近い?
データ中心のプログラマですが、私は、親指のルールが集約ルートを介してアクセスしている場合、すべての施設のすべての場所をどのようにリストするのですか?
Uuid
をエンティティ自体(Place::create
)内に生成するという考えは良いですか?
譲受人(User
)だけが場所を追加/削除できるというアイデアは、ドメイン自体で表現されるべきですか、それともクライアントの責任であるべきですか?この場合、譲受人が管理機関について知っているのが賢明です(institutionId
:User
?)。
Institution::placeById
はDDDの原則を破っていませんか?たぶんそれはリポジトリの責任ですか?