エンティティ(DDD)
同一性によって定義されるオブジェクト
(概念上の)同一性
どの世界でも同じ対象であると一致すること
オブジェクトの実装や格納形式、システムを実際に使ってる人、転送時にシリアライズされたときの形式 etc
同一性は属性によって保証されるとは限らない
性別身長体重スリーサイズが同じデータが2つあるとして、同一人物とみなせるかというと、当たり前だが違うsta.icon
同一性がシステムのコンテキスト内でのみ重要になるケースもある
例: コンピュータプロセスの同一性
例
指定席では、座席や参加者がエンティティになる
自由席では、座席はエンティティにならない
モデルは、同じものであるということが何を意味するかを定義しなければならない。
エンティティの特定はエグい
識別の手段のために、ドメインに対する注意深い調査が必要になることも多い。
あるシステムが対応してる識別子を別のシステムがサポートしてないとか、国が出してる汎用的な識別子を信用せず使ってない人がいるとか……sta.icon
結局、デリケートなシチュでは人手で同一性を割り当てるしかない
例えば、小切手帳の照合をするソフトウェアは、候補になりそうなものを提供しはしても、最終判断はユーザが行うことになっている。