Entityの線引きの難しさ
何をEntityにするか、は扱うドメインに大きく依存する
同じようなものをモデル化する際に、そのビジネスがどういうものなのかによってEntityになったりならなかったりする
例
図書館のシステムで、本を表すEntity
ISBNを識別子とすると、図書館内に複数同じ本がある場合に、貸し出しを記録できない
ref 『WEB+DB PRESS Vol.130』 p.11
ref /mrsekut-book-4822283496/078 (レッスン10 図書館の蔵書)
メディアのシステムで、記事を表すEntity
数ページに渡る記事を別ものとするかどうか
古い記事をリライトしたとき別ものとするかどうか
ref 『WEB+DB PRESS Vol.130』 p.12
野球スタジアムの座席を表すEnity
指定席の話をしているときは、チケットと一意の座席を照合する必要がある
故に座席はEntityである
自由席の話をしているときは、座席はどこでもいいのでチケットと紐付ける必要がない
故に座席はEntityではない
ここで重要なのは、無意味にEntityにしてはいけない、ということ
ref 『エリック・エヴァンスのドメイン駆動設計』