도메인 주도 개발 시작하기

도메인 주도 개발 시작하기

DDD 핵심 개념 정리부터 구현까지


최범균 지음, 한빛미디어

image

DDD 핵심 개념 정리부터 구현까지


요즘 DDD가 그렇게 핫하다길래 뭔지 궁금해서 자료를 찾던 중 올해 출간된 책이 있어 구매해 읽었다.

결론적으로 적절한 시기에 아주 적절한 책을 골라 읽었다는 만족감이 생겼다.


대상독자


저자이신 최범균님께서 아주 적절한 글을 책 초반부에 적어놓으셨다.


image


image


후기


DDD 입문서라고는 하지만, 핵심적인 개념들에 대해서는 오히려 아주 상세히 잘 설명되어 있었고, 코드 또한 굉장히 실무적이었다.

최범균님이 평소 글을 많이 쓰시는 분이시라 그런지, 책의 가독성도 굉장히 훌륭하였다.

이 책을 제대로 읽고 에릭 에반스의 DDD를 읽으면 아주 괜찮겠다는 생각도 들었다.

DDD에 대해 관심은 있지만, DDD가 뭔지 잘 모르는 상태라면 굉장히 훌륭한 책이 될 것이라고 장담할 수 있다.

한 가지 단점이라면, 책이 출간된지 얼마 안되어서 그런지 오탈자가 굉장히 많았는데, 몇몇 오탈자들은 내용 자체에 혼선을 일으키는 부분들이여서 한번씩 흐름이 꼬였다.

나도 몇가지 오탈자를 제보하였으며, 이 부분은 시간이 지나면 차차 개선되지 않을까 싶다.


이 책을 읽고 DDD에 대해 더 관심이 생겨 약간 더 알아보다 약간의 의문이 들었는데, 나는 DDD가 아주 간단하게, 그저 널리고 널린 개발 방법론 중 하나의 개발 방법론이라 생각하고 있었으나, 종국에는 DDD라는 것은 조금 더 본질적인, 그러니까 개발에 대한 개발자의 마인드를 교정하는데 목적이 있는건가? 라는 의구심이 생겼다.

왜냐하면, 대부분의 DDD 관련 아티클들은 애그리거트, CQRS 등의 이야기들만을 상세히 다루며 이러한 정보들을 별 생각 없이 접하다 보면 DDD는 일종의 패턴으로 인식이 된다.

DDD에서 사용되는 용어들은 아주 많으며, 많은 아티클들에서 이 용어들에 대한 설명을 수십, 수백 페이지에 걸쳐 장황하게 설명한다.

그리고 결론적으로, DDD라는 것은 패키지를 어떻게 나누고, 도메인을 어떻게 설계하고, 데이터 입력, 수정, 조회 등은 이렇게 하는 것이다!

이런 식이니 종국엔 DDD가 하나의 레이어드 아키텍처(controller - service - repository)와 유사한, 하나의 개발 패턴으로 인식이 돼버린다.

하지만 DDD에 대한 깊이있는 정보들을 다시 접하면 왜 DDD를 해야 하는지로 시작하고 이에 대한 합당한 주장을 펼친다.

모든 상황에 DDD의 개발 패턴을 따라야 할까? 아니라고 생각한다.

현실적으로 모든 프로젝트에 DDD를 완벽하게 적용하기는 힘들 것이다.

왜냐하면 기존에 작성된 수 많은 레거시 프로젝트들은 도메인 위주가 아닌 데이터 중심적으로 설계됐고 운영되고 있기 때문이다. 또한, 그렇게 운영되어야만 하는 프로젝트들도 반드시 존재 할 것이다.

하지만, 개발자는 단순히 도메인 전문가의 의견을 코드로 번역하는 사람이 아니며, 개발자도 도메인에 대해 도메인 전문가 만큼 깊이있게 이해해야 한다는 주장만큼은 아주 크게 동의할 수 있었다.



© 2022. All rights reserved.