エンティティ
別名: 実体
ドメイン駆動設計
ドメインモデルを実装したドメインオブジェクトである.
「顧客」「注文」「商品」などがエンティティに相当する
識別子によって管理されるものはエンティティに相当する可能性が高い.
ValueObjectもドメインモデルを実装したドメインオブジェクト.
同一性によって区別されるかどうかがValueObjectとの違い.
エンティティは同一性によって識別されるオブジェクトである.
可変である.
可変が許可されているだけで,不変で良いものは不変にしておくべきである.
同じ属性であっても区別される.
ValueObjectのように等価性が同一性である訳ではない.
識別子によって区別する.
同一性によって区別される.
エンティティは属性を交換させることで変化する.
ValueObjectのように,インスタンスそのものを置き換えることはしない.
ライフサイクルを持つことがエンティティの特徴.
ユーザは登録され,削除される.
ValueObjectはライフサイクルを持たない.
ValueObjectでもエンティティにもなりうる概念はある.
タイヤは車にとってはパーツでしかないが,タイヤのメーカにとってはロットを持つエンティティである.