DDD 철저 입문 03. 생애주기를 갖는 객체 - 엔티티

강준혁·2022년 9월 22일
0

DDD 철저 입문

목록 보기
3/6
post-thumbnail

엔티티란?

엔티티 또한 값 객체와 마찬가지로 도메인 모델을 구현한 도메인 객체이나 동일성을 통해 식별이 가능한지가 다르다.

사용자의 경우, 개인정보를 사용자 정보로 등록한다. 하지만 개인정보가 변경되었다고 해서 해당 사용자가 다른 사용자가 되지는 않는다.

반면, 성과 이름의 두 가지 속성으로 구성되는 성명은 두 속성 중 어느 한쪽이 수정되면 전혀 다른 존재가 된다.

엔티티의 성질

엔티티의 성질은 다음과 같다

  • 가변이다 : 값 객체와는 다르게 필요에 따라 내부 속성을 변경할 수 있다
  • 속성이 같아도 구분할 수 있다 : 속성의 일치여부가 아닌 동일성에 의해 구분된다

엔티티의 판단 기준 - 생애주기와 연속성

사용자 개념은 시스템 이용자에 의해 생성되고 이용하면서 속성이 변경되거나 삭제될 수 있다. 고로 이는 생애주기와 연속성을 가지기에 엔티티로 적합하다.

생애주기를 갖는 객체는 지속적인 변화, 즉 가변성을 가진다. 가변 객체는 다양한 예외 상황을 가질 수 있으므로 불변 객체로 만들 수 있는것은 불변으로 남기는 것이 좋다.

profile
백엔드 개발자

0개의 댓글