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