Part 1 정리
Part 1 에서 한 것
- 테스트를 통해 도메인 모델 구축했다.
- 저장소를 추상화하여 결합을 낮췄다.
- Functional core, Imperative shell 개념에 대해 학습하고 연습했다.
- 서비스 계층 도입했다.
- 도메인 모델 의존을 낮춰 건강한 테스트 피라미드 만들었다.
- 작업 패턴 도입으로 저장소를 완전히 추상화했다.
- 애그리거트 도입으로 불변조건을 지키는 경계를 만들었다.
Note. 패턴을 추가할 때마다 비용이 든다. 계층 도입마다 약간 중복 코드가 들어가며 처음보는 개발자에게는 혼동을 줄 수 있다. 데이터베이스를 감싸는 간단한 CURD 개발이라면
1부에서 배운 패턴
을 사용할 필요 없다.
Part 2 에서 할 것
- Part 1 는 한번에 한 애그리거트만 변경할 수 있다.
- 한 애그리거트 경계를 넘어서 다른 모델 일관성은 어떻게 유지할 수 있을까? 방법에 대해 알아본다.