Skip to content

Commit 66e4831

Browse files
committed
Write Book Post " '도메인 주도 개발 시작하기' 책 후기 "
1 parent 677136e commit 66e4831

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
layout: post
3+
title: " '도메인 주도 개발 시작하기' 책 후기 "
4+
categories: [Book]
5+
author: devFancy
6+
---
7+
* content
8+
{:toc}
9+
10+
> 이 글은 [도메인 주도 개발 시작하기](https://product.kyobobook.co.kr/detail/S000001810495) 책을 읽고 느낀 필자의 주관적인 생각입니다.
11+
12+
## Prologue
13+
14+
올해 1월 넥스트스텝에서 주관한 [DDD 세레나데 7기](https://edu.nextstep.camp/c/GwN2MSqv) 강의를 들으면서 관련 후기 및 내용을 정리한 적이 있다.
15+
16+
> 관련 포스팅
17+
18+
* [DDD 세레나데 7기, 5주간의 여정을 돌아보며](https://devfancy.github.io/DDD-Serenade-7th-Review/)
19+
20+
* [DDD 세레나데 7기 1주차 (feat. 이벤트 스토밍)](https://devfancy.github.io/DDD-Week1-Review-And-EventStorming/)
21+
22+
해당 강의를 들으며 DDD 관련 책을 읽어야겠다고 다짐했지만, 이런저런 일에 밀려 미루다 9월이 되어서야 드디어 이 책을 펼치게 되었다.
23+
24+
강의가 실무 기반의 내용 위주였다면, 이 책은 DDD의 핵심 개념을 다루는 이론적인 내용에 더 가까웠다.
25+
26+
책을 읽으며 장마다 중요하거나 기억하고 싶은 내용들은 별도의 GitHub 레포지토리에 꾸준히 정리해두었다.
27+
28+
* '도메인 주도 개발 시작하기' 책 읽고 정리한 내용: [Github 레포지토리](https://github.com/devFancy/kotlin-java-playground/tree/main/book/Starting-with-Domain-Driven-Design)
29+
30+
31+
---
32+
33+
## Review
34+
35+
![](/assets/img/book/Starting-with-Domain-Driven-Design-image.png)
36+
37+
* 전반적으로 이해도는 90%, 만족도는 75% 정도였다.
38+
39+
* 결론부터 말하자면, 이 책은 도메인 주도 설계의 핵심 개념을 배우기에 좋은 것 같다.
40+
41+
무엇보다 저자인 최범균님이 개발 경험이 많지 않은 주니어 개발자도 이해하기 쉽게 개념을 풀어 설명해주신 점이 좋았다.
42+
43+
하지만 역시나, 이런 개념들은 직접 실무에 적용해봐야만 더 명확하고 깊게 이해할 수 있을 거란 생각이 들었다.
44+
45+
단순히 책을 읽는 것만으로 개념을 온전히 '내 것'으로 만들기는 어려워 보였다.
46+
47+
48+
* 나 역시 'DDD 세레나데' 강의를 통해 DDD가 무엇인지 맛보기는 했지만, 음식으로 비유하자면 메인 디쉬가 나오기 전의 애피타이저만 맛본 느낌이었다.
49+
50+
도메인과 비즈니스가 복잡한 큰 조직에서 DDD를 적용하는 것은 어떤 느낌일지 아직은 막연하게 느껴진다.
51+
52+
다행히 나는 강의에서 실무와 유사한 간단한 프로젝트를 경험해봤기에, 책에서 설명하는 개념들이 어떤 맥락에서 필요한지 이해할 수 있었다.
53+
54+
만약 강의 경험 없이 이 책만 읽었다면, 이해도는 90%가 아닌 60% 이하로 뚝 떨어지지 않았을까 싶다.
55+
56+
* 그리고 이 책은 Java, Spring Boot, JPA 기술을 사용하는 개발자라면 이해가 더 수월할 것 같다.
57+
58+
예시 코드가 대부분 해당 기술로 되어있기도 했고, 4장과 5장의 경우 JPA에 기반한 내용이었다.
59+
60+
61+
* 이 책에서 중요하다고 생각했던 장은 3장, 7장, 9장인 것 같다.
62+
63+
**애그리거트, 도메인 서비스, 바운디드 컨텍스트**가 도메인 주도 설계의 핵심 개념이라고 생각하기 때문이다.
64+
65+
1장과 2장은 도메인 주도 설계가 무엇인지에 대한 기초 개념의 느낌이었고,
66+
67+
3장부터가 본격적인 내용인 느낌이다.
68+
69+
70+
* 한 가지 아쉬웠던 점은 내용이 **기술적인 부분**에 치우쳐 있다는 것이었다.
71+
72+
DDD에는 크게 '전략적 설계'와 '전술적 설계'가 있는데, 이 책은 코드 레벨의 '전술적 설계'에 더 무게를 두고 있다.
73+
74+
강의에서는 DDD가 단순히 개발자를 위한 기술이 아니라, 기획자나 도메인 전문가 등 다양한 직군이 함께 소통하며 만들어가는 '전략적 설계'의 중요성을 강조했다.
75+
76+
하지만 이 책은 기술적인 내용이 주를 이루다 보니, 협업의 관점을 강조했던 강의와는 다른 결로 느껴졌다. 아마 이 지점에서 아쉬움이 남았던 것 같다.
77+
78+
만약 내가 이 책으로만 DDD를 처음 접했다면, DDD를 그저 '전술적 설계' 기법 중 하나로 오해했을지도 모르겠다.
79+
80+
DDD를 단순히 기술적인 내용으로만 이해하지 않았으면 좋겠다는 생각이 들었다.
81+
82+
83+
* 이번에 다시 한번 느낀 점은, 어떤 기술이든 책 한 권만으로는 온전히 이해하기 어렵다는 것이다.
84+
85+
최소 두세 권은 읽어봐야 그 기술이 말하고자 하는 바를 다각도로 파악하고 시야를 넓힐 수 있는 것 같다.
86+
87+
88+
* 누군가 이 책을 읽을지 말지 고민한다면
89+
90+
'도메인 주도 설계'라는 개념에 관심이 있거나, **복잡한 도메인을 어떻게 코드로 풀어낼지 고민하는 개발자**에게 이 책을 추천하고 싶다.
91+
92+
물론 이 책 한 권이 모든 고민을 해결해주진 않는다.
93+
94+
중요한 것은 책에 나오는 바운디드 컨텍스트, 도메인 서비스, 애그리거트 같은 개념들을 실무나 개인 프로젝트에 직접 적용해보며 자신만의 경험을 쌓고 장단점을 체득하는 과정일 것이다.
95+
96+
97+
## Reference
98+
99+
* [도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지](https://product.kyobobook.co.kr/detail/S000001810495)
33 KB
Loading

0 commit comments

Comments
 (0)