DDD 도메인 주도 개발을 하는 이유는 무엇일까
DDD로 개발하면 명확한 개념으로 잘게 쪼개어 개발함으로
- 요구사항에 적합한 개발 가능
- 다른 개발자가 코드를 볼 때도 이해가 쉬움
- 리팩토링의 수고를 덜 수 있음
- 유지보수 하기 좋은 코드가 됨
Chapter 1. 도메인 모델 시작하기
1.6 엔티티와 밸류
클래스 다이어그램은 엔티티와 밸류로 구분할 수 있다.
엔티티와 밸류를 구분해야 하는 이유는 도메인의 올바른 설계를 위해서이다.
1.6.1 엔티티
엔티티의 특징은 고유한 식별자를 가진다는 것이다. 이 고유한 식별자로 엔티티를 구분할 수 있다.
1.6.2 엔티티의 식별자 생성
엔티티의 식별자 생성 방법은 도메인 상황에 따라 달라진다.
식별자는 보통 다음 4가지로 생성한다.
- 1) 특정 규칙에 따라 생성
- 2) UUID 혹은 Nano ID인 고유 식별자 생성기
- 3) 값을 직접 입력
- 4) 일련번호 사용(시퀀스나 DB의 자동 증가 칼럼 사용)
1.6.3 밸류 타입
밸류 타입은 개념 하나로 묶을 수 있을 때 사용한다.
public class ShippingInfo {
// 받는 사람
private String receiverName;
private String receiverPhoneNumber;
// 주소
private String shippingAddress1;
private String shippingAddress2;
private String shippingAddress3;
...
}
ShippingInfo는 받는 사람과 주소로 나눌 수 있으므로 아래와 같이 밸류 타입으로 분류한다.
public class Receiver {
private String name;
private String phoneNumber;
...
}
public class Address {
private String address1;
private String address2;
private String zipcode;
...
}
public class ShippingInfo {
private Receiver receiver;
private Address address;
...
}
참고: 도메인 주도 개발 시작하기 책
'DDD(Domain Driven Design)' 카테고리의 다른 글
DDD(Domain Driven Design) 애그리거트 (0) | 2024.03.20 |
---|
댓글