참고 자료#

DDD 학습을 위한 도서, 아티클, 발표 자료를 정리합니다.

TL;DR

  • 필독서: Blue Book(원전), Red Book(구현), DDD Distilled(입문)
  • 학습 순서: 입문 → 기본 → 심화 → 실전 순으로 점진적 학습
  • 한국어 자료: DDD START(최범균), 우아한객체지향(조영호) 추천
  • 실습: 기존 프로젝트 리팩터링 또는 EventStorming으로 시작

필독서#

Domain-Driven Design (Blue Book)#

  • 저자: Eric Evans
  • 원서: Domain-Driven Design: Tackling Complexity in the Heart of Software (2003)
  • 한국어판: 도메인 주도 설계

DDD의 원전입니다. 전략적/전술적 설계 패턴의 원리와 철학을 담고 있습니다.

핵심 파트:

  • Part I: 도메인 모델 적용하기
  • Part II: 모델 주도 설계의 빌딩 블록
  • Part III: 더 깊은 통찰을 향한 리팩터링
  • Part IV: 전략적 설계

Implementing Domain-Driven Design (Red Book)#

  • 저자: Vaughn Vernon
  • 원서: Implementing Domain-Driven Design (2013)
  • 한국어판: 도메인 주도 설계 구현

Blue Book의 개념을 실제로 구현하는 방법을 상세히 다룹니다.

핵심 내용:

  • Bounded Context 구현
  • Aggregate 설계 원칙
  • Repository 구현
  • 이벤트 기반 아키텍처

Domain-Driven Design Distilled#

  • 저자: Vaughn Vernon
  • 원서: Domain-Driven Design Distilled (2016)
  • 한국어판: 도메인 주도 설계 핵심

DDD의 핵심 개념을 간결하게 정리한 입문서입니다.

추천 대상:

  • DDD 입문자
  • 빠르게 개념 파악이 필요한 경우
  • 팀원 교육용

필독서 핵심 포인트

  • Blue Book: DDD 원전, 철학과 원리 이해에 필수
  • Red Book: Blue Book 개념의 실제 구현 방법
  • DDD Distilled: 입문자용 간결한 정리, 팀 교육에 적합

추천 도서#

Learning Domain-Driven Design#

  • 저자: Vlad Khononov
  • 출판: O’Reilly (2021)

최신 DDD 실무를 반영한 실용적인 가이드입니다.

특징:

  • 현대적 아키텍처 (마이크로서비스, 이벤트 기반)
  • 실용적 접근
  • EventStorming 소개

Patterns, Principles, and Practices of Domain-Driven Design#

  • 저자: Scott Millett, Nick Tune
  • 출판: Wrox (2015)

.NET 기반이지만 패턴 자체는 언어 중립적입니다.

특징:

  • 풍부한 코드 예제
  • 안티패턴 설명
  • 실무 팁

Clean Architecture#

  • 저자: Robert C. Martin (Uncle Bob)
  • 한국어판: 클린 아키텍처

DDD는 아니지만 아키텍처 원칙을 이해하는 데 도움됩니다.

관련 내용:

  • 의존성 규칙
  • 계층 분리
  • 도메인 중심 설계

추천 도서 핵심 포인트

  • Learning DDD: 최신 실무(마이크로서비스, EventStorming) 반영
  • Patterns, Principles, and Practices of DDD: 풍부한 코드 예제와 안티패턴
  • Clean Architecture: DDD와 함께 사용하는 아키텍처 원칙

온라인 자료#

Martin Fowler’s Blog#

DDD 관련 개념을 명확하게 설명하는 아티클들

주요 아티클:

  • Bounded Context
  • Aggregate
  • CQRS
  • Event Sourcing

DDD Community#

Eric Evans가 운영하는 커뮤니티


Awesome DDD#

DDD 관련 리소스 모음

온라인 자료 핵심 포인트

  • Martin Fowler’s Blog: 개념 명확화에 탁월 (Bounded Context, Aggregate, CQRS)
  • DDD Community: Eric Evans가 운영하는 공식 커뮤니티
  • Awesome DDD: GitHub에서 관리되는 종합 리소스 모음

발표 자료#

EventStorming#

  • 발표자: Alberto Brandolini
  • 자료: eventstorming.com

도메인 탐색을 위한 워크숍 기법

핵심 개념:

  • 도메인 이벤트 식별
  • 경계 발견
  • 시각적 협업

Strategic Domain-Driven Design#

  • 발표자: Vaughn Vernon
  • 플랫폼: YouTube, InfoQ

전략적 설계 패턴 강연

발표 자료 핵심 포인트

  • EventStorming: 도메인 탐색을 위한 시각적 워크숍 기법
  • Vaughn Vernon 강연: 전략적 설계 패턴 이해에 도움

한국어 자료#

조영호 - 우아한객체지향#

  • URL: YouTube “우아한테크” 채널
  • 내용: 객체지향 설계와 DDD 기본 개념

최범균 - DDD START#

  • 도서: DDD START! 도메인 주도 설계 구현과 핵심 개념 익히기
  • 특징: Java 기반, 실습 중심

한국어 자료 핵심 포인트

  • 우아한객체지향: 객체지향 설계와 DDD 기본 개념 (무료 영상)
  • DDD START: Java 기반 실습 중심 입문서

학습 로드맵#

flowchart TB
    A[입문] --> B[기본]
    B --> C[심화]
    C --> D[실전]

    subgraph 입문
        A1[DDD Distilled]
        A2[우아한객체지향]
    end

    subgraph 기본
        B1[Blue Book Part I, II]
        B2[Red Book]
    end

    subgraph 심화
        C1[Blue Book Part III, IV]
        C2[Learning DDD]
    end

    subgraph 실전
        D1[실제 프로젝트 적용]
        D2[EventStorming 워크숍]
    end

단계별 추천#

단계목표추천 자료
입문DDD가 무엇인지 이해DDD Distilled, DDD START
기본전술적 패턴 이해Red Book, Blue Book Part I-II
심화전략적 패턴 이해Blue Book Part III-IV, Learning DDD
실전프로젝트 적용EventStorming, 실습

실습 추천#

1. 기존 프로젝트 리팩터링#

  • 빈약한 도메인 모델 → 풍부한 도메인 모델
  • 서비스에 분산된 로직 → Entity/Value Object로 이동
  • Aggregate 경계 재정의

2. 새 프로젝트 시작#

  • EventStorming으로 도메인 탐색
  • Bounded Context 식별
  • 전술적 패턴 적용

3. 코드 리뷰 관점#

체크리스트:
- [ ] 도메인 용어가 코드에 반영되었는가?
- [ ] 비즈니스 로직이 도메인 객체에 있는가?
- [ ] Aggregate 경계가 적절한가?
- [ ] Value Object를 활용하고 있는가?

학습 로드맵 및 실습 핵심 포인트

  • 학습 순서: 입문(DDD Distilled) → 기본(Blue/Red Book) → 심화 → 실전
  • 실습 추천: 기존 프로젝트 리팩터링 → 새 프로젝트 시작 → 코드 리뷰
  • 핵심 체크: 도메인 용어 반영, 비즈니스 로직 위치, Aggregate 경계, Value Object 활용

커뮤니티#


이 가이드가 DDD 학습에 도움이 되길 바랍니다!