이번 서평은 어려웠으나 재미있고, 유용했다고 말할 수 있다.
저번달에 한빛미디어 소프트웨어 아키텍처 101를 읽어면서 많은 도움을 받았기에, 또한번 아키텍처에 도전하였다.
ㅎㅎ 그런데 이번 책은 다소 어려웠다.
그 이유는 저번책은 이론적인 이야기가 많았는데, 이번 책은 소스 코드가 많았다.
개발자라면 소스 코드가 나왔다고 좋아해야 하지 않을까? 싶지만, 자바를 공부 안 한지 오래되었고, 제대로 공부한 것이 아니라, 슬쩍슬쩍 본 것이 다고, 파이썬 쪽으로 좀 더 많이 보다 보니, 다 잊어버려서, 대충 이해가는 정도로 이해하려다 보니, 중간에 힘이 많이 들었다.
그러나, 평소 자바를 보시는 분이라면, 오히려 이 점이 많은 도움이 되시리라고 본다.
저번 책은 소스 코드가 없어서, 실제 구현이 어떻게 이루어지는지 감이 안 잡혔는데, 이번 책은 이론적인 관점을 소스 코드로 모두 보여주기 때문에 직접 개발을 하시는 분들에게는 도움이 될 것 같다.
소프트웨어 아키텍처 101를 읽고 이 책 제목을 보면서 도메인 주도 개발이 그 도메인 일 것이라고 생각했는데, 예상은 적중하였다.
우리가 보통 이야기하는 도메인, 산업 영역이 맞다. 그래서 초반에 읽을때는 다소 쉬울것이라 생각했는데,
그 도메인 영역을 자바의 개발 방법인 표현 - 응용 - 도메인 - 인프라스트럭처에 맞추어 깊게 들어가면서, 소스 코드를 이해하기가 복잡하고 어려웠다.
이론적인 전개 흐름은 소스 코드를 몰라도 이해가 갔다.
이 부분은 이 책 저자 분도 이런 이론 책을 처음 읽었을때에도 똑 같은 느낌이라고 했으니까, 초반에 이해가 안 되더라도 몇번이고 반복해서 노력하면 점차 나아질 것이라고 생각한다.
이 책의 좋은 점이 주문이라는 도메인 영역을 가지고 현실 세계에서 개발을 하기 위해 필요한 여러 세부 도메인 영역으로 나누어 서로 어떻게 유기적으로 연결하고,
각 영역에서 개발해야 하는 부분, 그리고 유동적으로 만들고, 하지 말아야 할 팁 들도 매우 상세하게 이유를 들어가면서 설명한다는 점이다.
보통 이론과 소스 코드만 있는 책들도 많은데, 개발하다 갈림길에 들어섰을때 어떻게 하는 것이 좋은지 이유를 잘 설명한다. 그러다 보니 자바는 모르지만, 아키텍처 측면에서는 눈이 많이 넓혀졌다.
MS 파워 플랫폼으로 개발하고 있는데, 로우 코드 기반이라서 도메인 주도 방식으로 생각해야 할 것들도 늘어나고,
이 책에 따라 어느 부분이 적용하기 쉽고, 어려운지에 대한 궁금점이 일어나기도 했다. 도메인 주도 보다는 컴포넌트 방식이 더 주요할 것 같지만,
개발할 때 상속이라든가, 아키텍처의 각 영역에서 잘못 선택해버리면, 소스 코드의 중복이라든가, 충돌이 쉽게 일어날 수 있다는 것도 알게 되었다.
앞으로는 사용자 인터페이스, 응용, 도메인, 인프라를 잘 구분해서, 개발하려고 노력해야겠다.
위 그림과 같이 책은 적절한 도형과 설명, 소스코드로 이루어진 것을 볼 수 있다.
이 책은 자바로 주문 관련 개발을 하려고 하는 3년차 개발자가, 각 도메인 영역에서 어떻게 시작해서 개발을 시작하고, 영역을 묶음을 가지고 가고, 전 개발 과정에서의 원활한 협업을 위해 본인이 개발하는 부분이 어떻게 진행해야 되어야 하는지 알려주는 좋은 책이라고 본다.
문제는 각 산업 영역에서의 도메인 지식이 부족하기 때문에 완전한 도메인 주도 개발이 되기 위해서는 현업과의 많은 이야기와 배움이 필요할 것으로 보여진다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."