도메인 생성 (DDD 도전,,?)
(1) 기획 측 요구 사항
- 회원가입시 기본 유형을 선수로 하고, 회원 업그레이드시 코치 유형으로 업그레이드
- 일단 회원가입시 role을 선수(디폴트)로 설정
- 일단 회원가입시 무조건 선수로 가입하게하고, 코치도 선수와 동일하게 테이블생성
- player테이블의 코치 데이터는 선수의 중위값을 나타낼때 쓰면 좋겠음.
- Statistics 테이블 별개로
⇒ 내가 궁금한 점(회의 때 여쭤보자)
- 선수 중위값은 team의 training statistics에 현재 저장하고 있는데, 이것 외에 추가적으로 저장해야 할 게 있는가. 예를 들면 평균 같은?
- 코치도 동일하게 player 테이블을 생성하면 member랑 player 테이블 나눌 필요가 없어지지 않는가. 그냥 member랑 player테이블 합칠 것인가?
(2) 생성 과정 (base entity부터 연관관계 method까지)
- base entity 만들기 → 모든 도메인들에 넣어줄 공통 필드 추출
- 각 도메인 클래스들 만들기
- 예시) Member 도메인
- Member.java
- Gender.java → enum type
- 결과

- 연관 관계 넣어주기
- 예시) Member 도메인과 Player 도메인
- Player.java
(3) 엔티티 vs VO
- 도메인
- 정의) 개발하는 기능에 필요한 객체들을 도출해낸 것
- 특징) 도메인의 개념을 Entity와 VO(Value Object)로 나눌 수 있음
- 엔티티
- 정의) 식별자를 가짐
- 특징) 식별자를 제외한 것들은 값이 바뀌어도 바뀌기 전/후가 같은 객체임
- VO
- 정의) 식별자 없이 값만 가짐
- 특징) 값이 변경되면 다른 객체가 되어 버림
- 참고
하루 정리
TIL 작성하기
3시 30분 데브코스 면접
6시 GDSC 웹 강의 실습 보조
NOI
도메인 생성
