도메인 주도 개발 시작하기

최범균 (지은이) | 한빛미디어 | 2022년 3월 정가 28,000원 판매가 25,200원 배송비 0원 (0원 이상 무료) 페이지 356쪽 판형 183*235mm 676g ISBN 9791162245385 상태 새책 or 중고 수량 합계 25,200

책소개

가장 쉽게 배우는 도메인 주도 설계 입문서. 도메인 주도 설계(DDD)를 처음 배우는 개발자를 위한 책이다. 실제 업무에 DDD를 적용할 수 있도록 기본적인 DDD의 핵심 개념을 익히고 구현을 통해 학습할 수 있도록 구성했다. 이 책으로 도메인 모델을 이용하여 애플리케이션을 구현하면서 DDD에 대한 이해를 넓힐 수 있을 것이다.

저자소개

최범균 (지은이)  
신간알리미 신청
코딩을 좋아하여 나이를 먹고 백발이 되어도 개발을 하고 싶은 개발자다. 좋은 책 쓰는 것을 목표로 꾸준히 블로그와 브런치에 글을 쓰고 있으며 많은 강연 활동도 하고 있다.

전) 아이스크림에듀, 에스씨지솔루션즈, 위메이드엔터테인먼트, 다음커뮤니케이션 개발자
현) 에스씨지랩 개발실장

저서: 『테스트 주도 개발 시작하기』(가메출판사), 『스프링5 프로그래밍 입문』(가메출판사), 『JPA 프로그래밍 입문』(가메출판사), 『DDD START』(지앤선), 『객체 지향과 디자인 패턴』(인투북스) 등

출판사소개

목차

Chapter 1. 도메인 모델 시작하기
1.1 도메인이란?
1.2 도메인 전문가와 개발자 간 지식 공유
1.3 도메인 모델
1.4 도메인 모델 패턴
1.5 도메인 모델 도출
1.6 엔티티와 밸류
1.6.1 엔티티
1.6.2 엔티티의 식별자 생성
1.6.3 밸류 타입
1.6.4 엔티티 식별자와 밸류 타입
1.6.5 도메인 모델에 set 메서드 넣지 않기
1.7 도메인 용어와 유비쿼터스 언어

Chapter 2. 아키텍처 개요
2.1 네 개의 영역
2.2 계층 구조 아키텍처
2.3 DIP
2.3.1 DIP 주의사항
2.3.2 DIP와 아키텍처
2.4 도메인 영역의 주요 구성요소
2.4.1 엔티티와 밸류
2.4.2 애그리거트
2.4.3 리포지터리
2.5 요청 처리 흐름
2.6 인프라스트럭처 개요
2.7 모듈 구성

Chapter 3. 애그리거트
3.1 애그리거트
3.2 애그리거트 루트
3.2.1 도메인 규칙과 일관성
3.2.2 애그리거트 루트의 기능 구현
3.2.3 트랜잭션 범위
3.3 리포지터리와 애그리거트
3.4 ID를 이용한 애그리거트 참조
3.4.1 ID를 이용한 참조와 조회 성능
3.5 애그리거트 간 집합 연관
3.6 애그리거트를 팩토리로 사용하기

Chapter 4. 리포지터리와 모델 구현(JPA 중심)
4.1 JPA를 이용한 리포지터리 구현
4.1.1 모듈 위치
4.1.2 리포지터리 기본 기능 구현
4.2 스프링 데이터 JPA를 이용한 리포지터리 구현
4.3 매핑 구현
4.3.1 엔티티와 밸류 기본 매핑 구현
4.3.2 기본 생성자
4.3.3 필드 접근 방식 사용
4.3.4 AttributeConverter를 이용한 밸류 매핑 처리
4.3.5 밸류 컬렉션: 별도 테이블 매핑
4.3.6 밸류 컬렉션: 한 개 칼럼 매핑
4.3.7 밸류를 이용한 ID 매핑
4.3.8 별도 테이블에 저장하는 밸류 매핑
4.3.9 밸류 컬렉션을 @Entity로 매핑하기
4.3.10 ID 참조와 조인 테이블을 이용한 단방향 M-N 매핑
4.4 애그리거트 로딩 전략
4.5 애그리거트의 영속성 전파
4.6 식별자 생성 기능
4.7 도메인 구현과 DIP

Chapter 5. 스프링 데이터 JPA를 이용한 조회 기능
5.1 시작에 앞서
5.2 검색을 위한 스펙
5.3 스프링 데이터 JPA를 이용한 스펙 구현
5.4 리포지터리/DAO에서 스펙 사용하기
5.5 스펙 조합
5.6 정렬 지정하기
5.7 페이징 처리하기
5.8 스펙 조합을 위한 스펙 빌더 클래스
5.9 동적 인스턴스 생성
5.10 하이버네이트 @Subselect 사용

Chapter 6. 응용 서비스와 표현 영역
6.1 표현 영역과 응용 영역
6.2 응용 서비스의 역할
6.2.1 도메인 로직 넣지 않기
6.3 응용 서비스의 구현
6.3.1 응용 서비스의 크기
6.3.2 응용 서비스의 인터페이스와 클래스
6.3.3 메서드 파라미터와 값 리턴
6.3.4 표현 영역에 의존하지 않기
6.3.5 트랜잭션 처리
6.4 표현 영역
6.5 값 검증
6.6 권한 검사
6.7 조회 전용 기능과 응용 서비스

Chpater 7. 도메인 서비스
7.1 여러 애그리거트가 필요한 기능
7.2 도메인 서비스
7.2.1 계산 로직과 도메인 서비스
7.2.2 외부 시스템 연동과 도메인 서비스
7.2.3 도메인 서비스의 패키지 위치
7.2.4 도메인 서비스의 인터페이스와 클래스

Chapter 8. 애그리거트 트랜잭션 관리
8.1 애그리거트와 트랜잭션
8.2 선점 잠금
8.2.1 선점 잠금과 교착 상태
8.3 비선점 잠금
8.3.1 강제 버전 증가
8.4 오프라인 선점 잠금
8.4.1 오프라인 선점 잠금을 위한 LockManager 인터페이스와 관련 클래스
8.4.2 DB를 이용한 LockManager 구현

Chapter 9. 도메인 모델과 바운디드 컨텍스트
9.1 도메인 모델과 경계
9.2 바운디드 컨텍스트
9.3 바운디드 컨텍스트 구현
9.4 바운디드 컨텍스트 간 통합
9.5 바운디드 컨텍스트 간 관계
9.6 컨텍스트 맵

Chapter 10. 이벤트
10.1 시스템 간 강결합 문제
10.2 이벤트 개요
10.2.1 이벤트 관련 구성요소
10.2.2 이벤트의 구성
10.2.3 이벤트 용도
10.2.4 이벤트 장점
10.3 이벤트, 핸들러, 디스패처 구현
10.3.1 이벤트 클래스
10.3.2 Events 클래스와 ApplicationEventPublisher
10.3.3 이벤트 발생과 이벤트 핸들러
10.3.4 흐름 정리
10.4 동기 이벤트 처리 문제
10.5 비동기 이벤트 처리
10.5.1 로컬 핸들러 비동기 실행
10.5.2 메시징 시스템을 이용한 비동기 구현
10.5.3 이벤트 저장소를 이용한 비동기 처리
10.6 이벤트 적용 시 추가 고려 사항
10.6.1 이벤트 처리와 DB 트랜잭션 고려

Chapter 11. CQRS
11.1 단일 모델의 단점
11.2 CQRS
11.2.1 웹과 CQRS
11.2.2 CQRS 장단점

더보기

배송

- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.

상품 품절

- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.

주문취소/변경

- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.

반품/교환

- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.

반품/교환 불가 사유

- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

소비자 피해보상 환불 지연에 따른 배상

- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.

Copyright © 2022 이츠북. All Rights Reserved.