SAN's history/book

[도서 리뷰] 도메인 주도 개발 시작하기

saniii 2022. 4. 24. 22:35

 

도메인 주도 개발 시작하기 (DDD 핵심 개념 정리부터 구현까지) // 최범균 지음 , 한빛미디어

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

 

스프링을 공부하면서 도메인이라는 용어가 나올 때 DDD라는 개념를 함께 알아두면 좋다고 해서 궁금했는데 마침 좋은 기회가 생겨서 DDD에 관한 책을 읽어보게 되었다. !!

 

# DDD , Domain-Driven Design

도메인패턴을 중심으로 설계하는 방법

  • 도메인 : 소프트웨어로 해결하고자 하는 문제 영역
    • ex) : 주문도메인, 결제도메인, 배송도메인 등등

DDD를 통해 각각의 도메인은 서로 분리되어 의존성은 최소화하고 응집성은 최대화 할 수 있다.

 

- (DDD가 아닌) 기존의 개발 방식

  • 데이터에 종속적인 애플리케이션
  • 모델링과 개발과의 불일치 발생
    • 도메인 전문가(개발을 요구하는)가 도메인에 대한 경험을 바탕으로 원하는 기능 개발을 요구했을때 개발자가 도메인에 대한 지식없이 개발하다보면 요구사항을 정확히 이해하지 못하고 잘못 개발할 수 있다. 잘못 개발된 코드는 수정해서 고치려면 많은 노력이 든다. 

- 이런 문제점을 해결할 수 있는 방법 중 하나로 DDD가 나왔다. 

  • 개발자와 도메인 전문가가 계속해서 소통하며 개발자가 도메인 전문가가 원하는 요구사항을 정확히 이해할 수 있다록 도메인과 구현을 만족하는 모델을 만든다. 

 

 

 

지은이의 말을 보면 내가 원하는 책인지 50%는 알 수 있다. 

중요하게 생각하는 지은이의 말

 

책의 구성

챕터별 구성 이라는 목차는 책갈피에 적혀있어서 목차를 보려고 책을 뒤적이지 않아도 되는 배려가 있다.

책의 구성

 

 

# 총평

이 책에서는 DDD를 통한 설계를 예제코드를 이용해서 설명한다. 따라서 실제로 어떻게 구현되는지 배울 수 있다. 어떤 언어나, 프레임워크를 배울때만큼 상세한 주석과 함께하지는 않지만 기존방식으로 설계시 생기는 문제와 이를 DDD로 해결하는 방식, 이유를 명확히 설명해준다. 또한 테이블로 구조를 계속 보여주면서 설명을 이어나가 예제코드가 어떤 구조로 이루어지고 있는지 잘 따라갈 수 있었다. 나같은 경우는 이 책을 통해 처음 공부하는 개념이라 모르는 용어가 많았는데 DDD를 위해 알아야하는 용어들을 의미를 파악하기 쉽게 그림으로 예를 들어 설명하여 쉽게 이해할 수 있었다. 

 

대상 독자로 DDD에 대해 입문자, 초중급, DDD에 대해 잘 모르지만 관심이 있는 사람을 설정했다고 한다. 예제코드는 JAVA이며 스프링과 JPA를 기반으로 구현되어 있다. 저자는 자바와 스프링은 잘 몰라도 책에서 설명하는 내용을 따라가는데 어려움은 없으며 JPA가 무엇인지 정도는 알고 보는게 좋다고 이야기한다. 맞는 말이다. 어려움은 없으나 이론에 집중해있기보다는 예제코드를 통해 어떤 식으로 설계되는지에 집중되어 있기 때문에 규모가 작더라도 스프링으로 설계를 할 수 있는 정도에서 이 책을 읽으면 이해가 훨씬 빠르고 적용이 잘 될거라고 생각한다. DDD를 정말 생판 처음보아서 아무런 지식이 없다면 이론적인 개념만 압축적으로 설명하는 글을 한번보고 이 책을 읽으면 눈에 더 잘 들어올 것 같다.   

 

이 책을 선택하신 분들이 어렵지않게 DDD와 가까워지시길 바랍니다. '~'

 

 

 

 

 

 

 

 

 

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