본문 바로가기
review/DEV

책 리뷰 : 도메인 주도 개발 시작하기(DDD 핵심 개념 정리부터 구현까지)

by ㅇㄱㅈㄱ 2024. 3. 28.
728x90
반응형

"한빛미디어 <나는 리뷰어다>" 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

제목 : 도메인 주도 개발 시작하기(DDD 핵심 개념 정리부터 구현까지)


리뷰 요약

DDD가 무엇인지 몰랐거나 애매하게 알고 있었다면,

'도메인'을 네트워크 호스트 이름으로만 알고 있었다면,

개발은 좀 해봤지만 DDD를 적용해서 좀 더 나은 구조를 만들고 싶다면,

초보에서 벗어나기 위해 한단계 더 업그레이드 하고 싶다면

이 책으로!

 

이 서적의 핵심

 

1. '이 책은 DDD를 처음 접하는 개발자를 위한 책으로 DDD 입문자를 대상으로 한다.

DDD 고수가 되는 법을 알려주는 책은 아니다.'

 

- '몇 년 전부터 도메인 주도 개발(설계), DDD에 대한 이야기를 많이 들었다.

하루가 다르게 더 괜찮은 설계, 개발 방법과 기술들이 나오는 와중에서도

가장 많이 들었던것은 그만큼 검증되고 잘 쓰이는 기술이었다고 생각하지만,

눈앞의 위기가 먼저였기 때문에 배우지 못했다.' 같은 생각을 가진 사람이라면

많은 도움이 될 것이라 생각 됨.

 

 

2. '예제 코드로 사용한 언어는 자바이며, 스프링 MVC와 JPA를 기반으로 구현,

SQL에만 익숙하다면 JPA가 무엇인지 정도는 학습하고 이 책을 읽기 바란다'

 

- 자바를 공부 했거나, 어느정도 개발 공부를 해봤던 사람이라면

충분히 읽을 수 있는 정도의 난이도이지만 JPA를 한번도 사용해보지 않았거나 잘 모르고 있다면

어려움을 겪을 수 있음(JPA를 모르면 좀 돌아가야되는 수고가 있을 수 있음...!)

 

 

3. 도메인 모델을 구축하는 내용

 

- 사실 이 책을 읽기 전까지 DDD를 몇번 찾아보긴 했지만 뭔소린지 모르겠고, 당장 필요하지 않아서

접었던 기억이 있음, 그리고 이 책을 처음 읽기 시작하면서 가장 당황스러웠던건

'도메인' 이란 단어인데, 처음에 '도메인' 하면 우리가 흔히 접하는 '한빛미디어', '네이버', '카카오' 같은

네트워크 호스트 이름을 의미하는줄 알았는데, 그게 아니었다는것에 충격을 받음.

(이런 사람들을 타겟으로 하는거겠지?)

 

간단하게 도메인은 영역 분야, 범위의 뜻을 갖고 있으며,

위에서 말한 '네트워크 호스트 이름'이란 정의가 하위 범위 안에 들어감.

이 책에서는 특정 기능이 속한 범위, 어떤 행동을 하는 객체 등이라고 할 수 있을 것 같다.

(말로 표현하기가 참 어렵다 어려워)

 

 

4. 설계(구조), 방법 등에 대한 내용이기 때문에 지루할 수 있으나

개발을 하는데 있어서 매우 유용하고 알찬 내용들로 가득함.

 

- 대상 타깃이 DDD를 배우는 초급자임에도 설계 구조 등을 설명해야 하기 때문에 어려움을 느낄 수 있음.

하지만 읽고 알아두면 개발에 매우 유용한 지식들이 대부분, 글로만 설명하기 에매한 부분은 코드와 그림 등으로

조금이라도 쉽게 이해할 수 있도록 설명.

(실무에선 기획서나 설계서를 작성하는 살람이 아니라면 잘 보지 못했던 구조와 관련된 그림이 많이 나옴)

학교 다닐 때 분석 설계 같은 과목에서 많이 봤던...


마무리

 

'유용한데 어렵다'

이게 아직 나의 수준이라고 생각한다.

책 후반부로 갈 수록 내용이 어려워진다.

'애그리거트', '바운디드 컨텍스트', 'CQRS' 등

처음보는 단어들도 너무나 많다.

 

하지만 확실히 설계와 관련된 공부를 하면 몰랐던것을 알게되고,

애매했던 부분이 확실해지면서 실력이 조금이라도 향상된 기분이 든다.

 

테스트 주도로 하는 방법 TDD나 지금 보고있는 DDD나

누가 정답이고 더 좋고, 먼저라고 할 순 없을 것이다.

다양한 프로그램 개발 기법과 설계 기법을 배우고,

배운것을 써서 더 단단하고 아름다운 프로그램을 개발하게 된다면

그것보다 뿌듯한 개발자의 삶이 없을거라 생각한다.

 

이 책은

한번 읽고 책장속에 보관될 책이 아닌

수십번 읽고 적용해봄으로써

더 나은 개발자로 만들어줄 책이라고 생각한다.


 

728x90
반응형

댓글