본문 바로가기

독서록

도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지 - 최범균

반응형

1. 개요

 FLOWBIT 프로젝트를 끝내고 같은 팀원인 형님의 추천을 받아 DDD 스터디를 시작하였다. 처음 읽었을 때는 그저 클린 코드에 관한 서적 같은 느낌이 들었지만, 본격적으로 애그리거트의 개념이 나오는 순간 생각보다 정말 많은 시간이 필요하겠다는 생각이 들었다.

 

 퇴근을 하고 내 몸둥아리가 맘에 들지 않아, 꾸준히 운동을 하기로 마음을 먹었기 때문에 퇴근을 하고 집에와서 잠을 자기 전까지 한 3시간 정도의 시간이 있었다. 씻는 시간까지 생각하면 한 2시간에서 2시간 30분 정도...? 주말이 있기에 다행이었지 지금 생각해보면 어떻게 완독을 했는지 싶다...

 

2. 본론

 책 제목에 맞게 기본적인 부분 부터 심화된 부분까지 설명된 책이라고 생각된다. 구현에 대한 세세한 부분이 도메인 설계부터 나오기 때문에 초반에 쉽게 이해하면서 책을 읽을 수 있다.

 

 계속 읽으면서 이런 개발론은 어떻게 내 시스템에 적용할 수 있을지에 대해 생각하였다. 그러다 보니 한 chapter당 소요시간이 너무 길어져 뒤로 갈수록 집중하기 어려웠다. 그래서 그런지 바운디드 컨텍스트 내용 이후에는 내용이 너무 어렵게 느껴졌다. 도메인에 대한 개념이 에그리거트로 커지고 그 개념이 다시 바운디드 컨텍스트로 커지는 부근에서는 이 개념의 경계선을 잡는 부근이 너무 어려웠다. 있는 그대로 말 하면, 무형의 방법론이라는 생각이 든다. 모든 개발 방법론이 그랬겠지만 "귀에 걸면 귀걸이이고 코에 걸면 코걸이인가...?" 라는 말도 안되는 생각도 했다.

 

 결국 생각에 생각을 하다, MSA 아키텍쳐에서의 서버 하나가 이 바운디드 컨텍스트가 아닌가? 라는 결론에 도달았다. 사실 MSA 아키텍쳐에서 서버를 나누는 기준도 하나의 기능이고, 바운디드 컨텍스트를 나누는 기준 또한 도메인 기능을 사용자에게 제공하는 모든 영역의 합이다. (정말이지 너무 어려운 한국어) 그래서 지금 진행되는 사이드프로젝트에서 새롭게 서버를 설계할 때 각 서버를 하나의 바운디드컨텍스트로 생각하고 root aggregate를 설계했다.



 3시간동안 팀원과 카페에서 작성해보았다. 그뒤로도 수정사항이 나와 계속 바꾸고 있는 중이다. 위의 내용을 구현하는 내용도 꼭 블로그에 정리했으면 좋겠다.

3. 결론

 총 11개의 chapter를 1월부터 3월까지 약 3개월간 공부하였다. 구멍이 숭숭 난 기분이지만 그래도 책 한 권을 끝낸 것에 의의를 두었다. 다음에는 클린코드 혹은 알고리즘을 조금 더 공부해보고자 한다.

반응형

'독서록' 카테고리의 다른 글

녹나무의 파수꾼 - 히가시노 게이고  (4) 2022.09.16