[NextStep] 도메인 주도 설계의 사실과 오해 회고 및 추천
TDD 클린코드 강의를 수강한 지 2년만에 다시 넥스트 스탭에서 제공하는 강의를 듣게 되었다.
https://edu.nextstep.camp/c/SXgXIKdd/
도메인 주도 설계의 사실과 오해
edu.nextstep.camp
이번에는 `도메인 주도 설계의 사실과 오해` 라는 강의로, java 와 객체지향 분야에서 매우 유명한 `오브젝트`, `객체지향의 사실과 오해` 의 저자이신 `조영호` 님께서 진행해주셨다.
이미 객사오와 오브젝트 책을 재미있게 읽었던 터라 강의도 매우 기대가 됐다.
나는 이전까지 `도메인 주도 설계(DDD)`에 대해서 한 번도 공부해본 경험이 없다.
이번에 DDD를 수강하고 혼자 복습하고난 후 강의에 대한 주요 내용과 후기, 그리고 내가 느낀 점을 공유하고자 한다.
강의 소개
`도메인 주도 설계의 사실과 오해` 강의는
1일 4시간씩 총 2일 (일요일 오후 2시 ~ 6시) 로 구성되어 있다.
이 강의는 원래 도메인 주도 설계에 대한 관심이 높아지면서 발생한 오해들에 대해 풀고, DDD 의 진정한 의미와 DDD 라는 개념이 해결하려고 했던 문제와 추구하는 근간을 이루는 사상적인 배경을 소개하기 위해 만드신 강의라고 한다.
그러나 나는 DDD 라는 것을 아예 접해보지 못한 상태였기 때문에 오해고 자시고 할 것이 딱히 없었다. 그래서 나는 `오해`의 부분보다 `DDD의 기본적인 개념과 왜 쓰이는가?` 에 초점을 맞춰서 들었다.
강의 초반 부에는 실제 개발자들이 DDD에 대해 자주 묻는 질문들이 소개되었다. 어떠한 오해가 있고, 어떠한 잘못된 접근 방식으로 DDD 를 대하는가, 어떠한 문제가 있어서 DDD가 나오게 되었는지 배경에 대해서 설명해주신다.
1일차 - 이론
DDD 의 기본 개념과 배경, 그리고 도메인 모델링의 필요성을 설명하며 이론적인 기반을 다진다.
2일차 - 실습
예제 코드를 제공하여 이론적으로 배운 내용을 코드로 보며 익힌다. 1일차에서 이론으로 보던 도메인 모델을 어떤 방식으로 설계 해야하는가? 과 같은 막연했던 개념들을 예제 코드를 보며 명확히 익힐 수 있다.
후기
장점
1. 쉬운 강의
우선 DDD 에 대한 지식이 아예 없어도 편안히 듣기 좋은 강의였다. 쉽게 설명해주시고 DDD 에 입문하기도 좋은 강의라고 생각한다.
2. 이론과 실습
단순히 개념 설명에 그치지 않고, 실제 예제 코드를 제시해주셔서 더 이해하기 수월했다.
3. 나의 사고 방식 변화
DDD 에 대한 전반적인 지식과 왜 DDD가 탄생하게 되었는지 배경을 이해함으로써 개발을 할 때 단순히 기술적 측면에만 치우쳐져 있던 나의 사고방식에 전환을 만들어 주었다. 또한 도메인 지식의 중요성, 비즈니스 로직에 대한 중요성, 유지보수성에 대해서 이해하게 되었다.
- 개발자는 기술적 역량도 중요하지만, 문제를 해결하는 사람이어야 한다.
- 도메인 전문가와 협업을 통해 도메인 지식을 코드에 녹여내는 것이 핵심이다.
SI 프로젝트에서 단순히 기능을 복사 - 붙여넣기만 하며 매너리즘에 빠져있던 나에게 다시금 열정을 살짝 불태우게 만들어주는 강의였다.
단점
1. 가격
단점은 꽤나 비싼 가격.. 넥스트 스탭에는 좋은 강의가 많지만, 정말 비싼 가격이 진입 장벽이다. ㅜㅜ 그래서 강의를 듣는 동안 최대한 집중해서 많은 것을 얻어가려고 노력했다.
2. 연속으로 긴 강의 시간
하루에 4시간씩 이틀동안 총 8시간의 강의를 들었다. 사실 4시간을 온전히 집중하는게 조금 힘들었지만, 돈과 소중한 기회라고 생각하며 최대한 집중하려고 노력했다.
앞으로 방향성 정리
DDD에 대해서 완전 몰랐던 상태라 내용을 흡수하는 과정에서 과부하가 왔다. ㅜㅜ 강의가 끝나자마자 DDD에 대해서 복습하고 체화시키기 위해 노력했다. 도메인 모델링과 애그리게이트 설계는 단순히 강의로만 배우는 것이 아니라 직접 경험하며 익혀야할 부분이 많다고 느껴졌다.
추후에는 강의에서 소개된 DDD 관련 서적을 하나씩 읽어보며, 개인 프로젝트에 적용해보려고 한다.
이번 강의를 통해 단순히 기술을 구현하는 개발자가 아니라, 내가 만들어가고 있는 비즈니스에 대해서 완전히 이해하고 비즈니스 문제를 해결해야 한다는 사고방식을 조금 배운 것 같다.
DDD 강의를 고민하고 있다면 정말 추천한다!