inflearn logo
강의

Course

Instructor

Microservice Design (with EventStorming, DDD)

Hexagonal & Clean Architecture

엔티티와 값객체와의 차이

560

devlinky20227142

38 asked

0

엔티티와 값객체와의 차이 중 하나가 값객체는 바운디드 컨텍스트를 옮겨 가더라도, 그 네이밍 그대로 유지할 수 있는 반면, 엔티티는 변경해야할 수도 있다고 생각하는데, 맞을까요?

예를 들어, Address(주소, 상세주소, 우편번호 포함)라는 값객체를 만들었을 때, 회원 바운디드 컨텍스트에서 회원의 주소와 주문 바운디드 컨텍스트에서 주문자의 주소의 경우, 다른 점이 없는 반면, User 라는 엔티티는 주문 바운디드 컨테스트에서 주문자이고, 리뷰 바운디드 컨텍스트에서는 리뷰어일 수 있어서, 다를 수 있다고 생각했거든요!

아키텍처 msa ddd

Answer 1

2

han jeong heon

  1. 불변성: 도메인 주도 설계에서 엔터티와 값 객체 간의 주요 차이점은 값 객체는 불변이며, 엔터티는 가변 식별자를 가진다는 것입니다. 값 객체는 엔터티의 특성 또는 속성을 나타내며 독립적으로 고유하게 식별되지 않습니다. 엔터티는 고유한 식별자를 가지며 속성을 변경할 수 있으면서도 동일한 식별자를 유지할 수 있습니다.

  2. 경계 컨텍스트: 경계 컨텍스트는 DDD에서 모델이 적용되는 구체적인 범위를 정의하는 개념입니다. 값 객체는 종종 경계 컨텍스트 간에 더 쉽게 이동할 수 있습니다. 값 객체는 불변이며 고유한 식별자가 없기 때문에 이름을 변경하지 않고 다른 컨텍스트에서 재사용할 수 있습니다. 예를 들어 "주소" 값 객체는 "회원" 컨텍스트와 "주문" 컨텍스트와 같은 다양한 컨텍스트에서 변경없이 사용될 수 있습니다.

  3. 엔터티와 경계 컨텍스트: 엔터티는 서로 다른 역할로 다른 경계 컨텍스트에서 존재할 수 있지만, 각 컨텍스트 내에서 일관된 식별자를 유지합니다. 이름이 반드시 변경되지 않아도 됩니다. 예를 들어 "사용자" 엔터티는 하나의 컨텍스트에서 "주문자"이고 다른 컨텍스트에서 "리뷰어"가 될 수 있지만 "사용자"로서의 식별은 동일합니다.

따라서 주요 차이점은 이름이 아니라 값 객체의 불변성 및 엔터티의 가변 식별자에 있습니다. 엔터티는 다양한 컨텍스트에서 역할을 변경할 수 있지만 각 컨텍스트 내에서 식별이 일관되게 유지됩니다. 값 객체는 불변성으로 인해 이름을 변경하지 않고 다양한 컨텍스트에서 쉽게 재사용될 수 있습니다. ^ ^;;;

애그리거트 질문있습니다!

0

31

2

도메인 질문있습니다

0

47

2

MSA 질문이 있습니다

0

67

1

현재에도 강의와 동일한 방식을 사용하고 계실지 궁금합니다.

0

65

2

다른 BC 또는 마이크로서비스 담당 정보를 어떻게 이용하나요?

0

133

3

VO 관련 궁금한점

0

406

1

VO에 대해서 질문있습니다.

0

402

1

도메인, 바운디드 컨텍스트 관련해서 궁금합니다.

0

790

1

앱에서 DDD를 적용하는 것이 맞는걸까요?

1

747

1

도메인 영역에 대한 질문

0

313

1

클린 아키텍처와 헥사고날 아키텍처 질문

0

488

2

전략적 설계와 전술적 설계

0

314

1

DDD 현실적 적용

1

655

3

애그리거트의 크기

0

584

2

확장성 관점에서 Value Object, Entity, Aggregate

0

402

1

도메인 서비스와 응용서비스의 구분

0

1512

1

Aggreagte 에 두개 이상의 Entity로 구성할 수 있나요?

0

632

1

VO, Entity 궁금한 부분이 있습니다.

1

436

1

안녕하세요. PPT 자료 공유 부탁 드려요.

0

509

1

usecase 작성 단계가 궁금합니다.

0

599

1

대여 도메인 장 관련 문의드립니다.

1

434

1

애그리거트 추출 질문드립니다.

0

596

1

도메인 이벤트 추출관련해서 여쭤보고 싶습니다!

0

467

1

컨트롤러 관련해서 질문이 있습니다!!

0

402

1