본문내용 바로가기
무료배송 이벤트 경품 소득공제

도메인 주도 설계 구현(Implementing Domain-Driven Design)

에이콘 소프트웨어 아키텍처 시리즈
반 버논 지음 | 윤창석, 황예진 옮김 | 에이콘출판 | 2016년 04월 07일 출간
  • 정가 : 45,000원
    판매가 : 40,500 [10%↓ 4,500원 할인]
  • 통합포인트 :
    [기본적립] 2,250원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(22일,금) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • IT분야 책 쓰기 관련 개발자 행사 '책노리'..
    2019.03.14 ~ 2019.03.29
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2020.12.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 31
상품상세정보
ISBN 9788960778429(8960778427)
쪽수 748쪽
크기 188 * 250 * 36 mm /1490g 판형알림
이 책의 원서/번역서 Implementing Domain-Driven Design/Vaughn Vernon

책소개

이 책이 속한 분야

[도메인 주도 설계 구현]은 도메인 주도 설계를 통해 엔터프라이즈 애플리케이션을 구축하는 방법을 풍부한 구현 예제를 통해 구체적으로 설명한다. 스프링, REST, NoSQL 등을 활용해 도메인 모델을 중심으로 올바른 소프트웨어 구조를 만들어가는 과정을 보여주며, CQRS와 이벤트 소싱 등을 활용해 도메인 주도 설계를 구현하는 실용적 방법을 다룬다. 그동안 도메인 주도 설계를 프로젝트에 적용하는 과정에서 어려움을 겪었던 개발자에게 도움이 될 것이다.

저자소개

저자 : 반 버논

저자 반 버논(Vaughn Vernon)은 소프트웨어 디자인과 개발, 아키텍처에서 25년 이상의 경력을 쌓아온 숙련된 소프트웨어 장인이다. 혁신적인 방법을 사용해 소프트웨어의 디자인과 구현을 단순화할 수 있는 리더다. 1980년대부터 객체지향 언어를 사용한 프로그래밍을 시작했고, 1990년대 초기 스몰톡 도메인 모델링부터 도메인 주도 설계의 개념을 적용하기 시작했다. 넓은 비즈니스 도메인에 걸쳐 경험을 쌓았고, 이런 도메인에는 우주항공, 환경, 지리정보, 보험, 의료, 통신 등이 포함된다. 또한 재사용 가능한 프래임워크나 라이브러리를 만들고 개발을 가속시키는 도구를 구현하는 등의 기술적 노력을 계속해왔다. 국제적인 컨설팅이나 강연을 진행해왔고, 여러 대륙에서 도메인 주도 설계의 구현에 관한 수업을 개설했다. www.VaughnVernon.co에서 근황을 확인할 수 있다.

역자 : 윤창석

역자 윤창석은 포스텍 컴퓨터공학과에서 학사 과정을 마쳤다. 삼성테크윈 선행기술연구소를 거쳐 현재는 카카오에 재직 중이다.

역자 : 황예진

역자 황예진은 미국 미시건 대학교(University of Michigan, Ann Arbor)에서 커뮤니케이션(Communications)과 심리학(Psychology)을 전공했다. 삼성물산 내부 통역자(In-House Interpreter), 한국마이크로소프트를 거쳐 현재 주한미국상공회의소(AMCHAM Korea) 홍보 팀에 재직 중이다.

목차

1장 DDD를 시작하며
나도 DDD 할 수 있을까?
내가 왜 DDD를 해야 하지?
__비즈니스 가치를 제공하는 것은 어려울 수 있다
__DDD가 해줄 수 있는 일
__도메인의 복잡성과 씨름하기
무기력증과 기억 상실
__왜 무기력증이 일어나는가
__무기력증이 당신의 모델에 한 일을 보라.
DDD는 어떻게 하는가?
__유비쿼터스지만 보편적이지는 않다.
DDD를 사용하는 데서 오는 비즈니스 가치
__1. 조직이 그 도메인에 유용한 모델을 얻는다.
__2. 정교하고 정확하게 비즈니스를 정의하고 이해한다.
__3. 도메인 전문가가 소프트웨어 설계에 기여한다.
__4. 사용자 경험이 개선된다.
__5. 순수한 모델 주변에 명확한 경계가 생긴다.
__6. 엔터프라이즈 아키텍처의 구성이 좋아진다.
__7. 애자일하고, 반복적이고, 지속적인 모델링이 사용된다.
__8. 전략적인 동시에 전술적인 새로운 도구가 적용된다.
DDD 적용의 난관
__도메인 모델링의 합리화
__DDD는 무겁지 않다
소설과 한 바구니의 현실
마무리

2장 도메인, 서브도메인, 바운디드 컨텍스트
큰 그림
__서브도메인과 바운디드 컨텍스트의 활용
__핵심 도메인에 집중하기
왜 전략적 설계가 엄청나게 필수적인가
현실의 도메인과 서브도메인
바운디드 컨텍스트 이해하기
__모델 그 이상을 위해
__바운디드 컨텍스트의 크기
__기술적 컴포넌트로 정렬하기
샘플 컨텍스트
__협업 컨텍스트
__식별자와 액세스 컨텍스트
__애자일 프로젝트 관리 컨텍스트
마무리

3장 컨텍스트 맵
컨텍스트 맵이 필수적인 이유
__컨텍스트 맵 그리기
__프로젝트와 조직 관계
__세 가지 컨텍스트를 매핑하기
__협업 컨텍스트
__애자일 프로젝트 관리 컨텍스트
__식별자와 액세스 컨텍스트의 통합
__협업 컨텍스트와 통합
마무리

4장 아키텍처
성공한 CIO와의 인터뷰
계층
__의존성 역행 원리
헥사고날 또는 포트와 어댑터
서비스 지향
REST: 표현 상태 전송(Representational State Transfer)
__스테판 틸코프의 참여
__아키텍처 스타일으로서의 REST
__레스트풀 HTTP 서버의 주요 특징
__레스트풀 HTTP 클라이언트의 주요 특징
__REST와 DDD
__왜 REST인가?
커맨드-쿼리 책임 분리
__CQRS의 영역 살펴보기
__결국은 일관성이 유지되는 쿼리 모델 다루기
이벤트 주도 아키텍처
__파이프와 필터
__장기 실행 프로세스(사가라 불리는)
__이벤트 소싱
데이터 패브릭과 그리드 기반 분산 컴퓨팅
__웨스 윌리암스 기고
__데이터 복제
__이벤트 주도 패브릭과 도메인 이벤트
__지속적 쿼리
__분산 처리
마무리

5장 엔터티
엔터티를 사용하는 이유
고유 식별자
__사용자가 식별자를 제공한다
__애플리케이션이 식별자를 생성한다
__영속성 메커니즘이 식별자를 생성한다.
__또 하나의 바운디드 컨텍스트가 식별자를 할당한다
__식별자 생성의 시점이 문제가 될 때
__대리 식별자
__식별자 안정성
엔터티의 발견과 그들의 내부적인 특성
__엔터티와 속성을 알아내기
__Digging for Essential Behavior
__역할과 책임
__생성
__유효성 검사
마무리

6 값 객체
값의 특징
__측정, 수량화, 설명
__불변성
__개념적 전체
__대체성
__값 등가성
__부작용이 없는 행위
미니멀리즘으로 통합하기
값으로 표현되는 표준 타입
값 객체의 테스트
구현
값 객체의 저장
__데이터 모델 누수의 부정적 영향을 거부하라
__ORM과 단일 값 객체
__ORM과 한 열로 직렬화되는 여러 값
__ORM과 데이터베이스 엔터티로 지원되는 여러 값
__ORM과 조인 테이블로 지원되는 여러 값
__ORM과 상태로서의 열거형 객체
마무리

7 서비스
도메인 서비스란 무엇인가(하지만 먼저 도메인 서비스가 아닌 것은 무엇인가)
서비스가 필요한지 확인하자
도메인에서 서비스를 모델링하기
__분리된 인터페이스가 꼭 필요할까
__계산 프로세스
__변환 서비스
__도메인 서비스의 미니 계층 사용하기
서비스의 테스트
마무리

8 도메인 이벤트
언제 그리고 왜 도메인 이벤트를 사용할까?
이벤트의 모델링
__애그리게잇의 특성과 함께하기
__식별자
도메인 모델에서 이벤트를 발행하기
__발행자
__구독자
뉴스를 원격 바운디드 컨텍스트로 전파하기
__메시징 인프라의 일관성
__자치 서비스와 시스템
__지연시간 허용
이벤트 저장소
저장된 이벤트의 전달을 위한 아키텍처 스타일
__레스트풀 리소스로써 알림을 발행하기
__메시징 미들웨어를 통한 알림 발행
구현
__NotificationLog의 발행
__메시지에 기반한 알림 발행하기
마무리

9 모듈
모듈로 설계하기
기본 모듈 명명 규칙
모델을 위한 모듈 명명 규칙
애자일 프로젝트 관리 컨텍스트의 모듈
다른 계층 속의 모듈
바운디드 컨텍스트보다 모듈
마무리

10 애그리게잇
스크럼 핵심 도메인에서 애그리게잇 사용하기
__첫 번째 시도: 큰 클러스터의 애그리게잇
__두 번째 시도: 다수의 애그리게잇
규칙: 진짜 고정자를 일관성 경계 안에 모델링하라
규칙: 작은 애그리게잇으로 설계하라
__유스케이스를 전부 믿지는 말라
규칙: ID로 다른 애그리게잇을 참조하라
__애그리게잇이 ID 참조를 통해 서로 함께 동작하도록 해보자
__모델 탐색
__확장성과 분산
규칙: 경계의 밖에선 결과적 일관성을 사용하라
__누가 해야 하는 일인지 확인하자
규칙을 어겨야 하는 이유
__첫 번째 이유: 사용자 인터페이스의 편의
__두 번째 이유: 기술적 메커니즘의 부족
__세 번째 이유: 글로벌 트랜잭션
__네 번째 이유: 쿼리 성능
__규칙을 지키기
발견을 통해 통찰 얻기
__설계를 다시 한 번 생각해보자
__애그리게잇 비용의 예측
__일반적인 사용 시나리오
__메모리 소비
__또 다른 설계 대안 살펴보기
__결과적 일관성의 구현
__이는 팀원이 할 일인가?
__결정의 시간
구현
__고유 ID와 루트 엔터티를 생성하라
__값 객체 파트를 선호하라
__‘데메테르의 법칙’과 ‘묻지 말고 시켜라’를 사용하기
__낙관적 동시성
__의존성 주입을 피하라
마무리

11 팩토리
도메인 모델 내의 팩토리
애그리게잇 루트상의 팩토리 메소드
__CalendarEntry 인스턴스 생성하기
__Discussion 인스턴스 생성하기
서비스의 팩토리
마무리

12 리파지토리
컬렉션 지향 리파지토리
__하이버네이트 구현
__탑링크 구현에 대한 고려
영속성 지향의 리파지토리
__코히어런스 구현
__몽고DB 구현
추가적인 행동
트랜잭션의 관리
__경고
타입 계층구조
리파지토리 대 데이터 액세스 객체
리파지토리의 테스트
__인메모리 구현으로 테스트하기
마무리

13 바운디드 컨텍스트의 통합
통합의 기본
__분산 시스템은 근본적으로 다르다
__시스템 경계에 걸친 정보의 교환
레스트풀 리소스를 사용한 통합
__레스트풀 리소스의 구현
__부패 방지 계층을 통한 REST 클라이언트의 구현
메시징을 사용한 통합
__제품 소유자와 팀 멤버의 정보를 계속해서 제공받는 것
__당신은 책임을 감당할 수 있는가
__장기 실행 프로세스와 책임의 회피
__프로세스 상태 머신과 타임아웃 트래커
__좀 더 복잡한 프로세스 설계하기
__메시징이나 시스템을 활용할 수 없을 때
마무리

14 애플리케이션
사용자 인터페이스
__도메인 객체의 렌더링
__애그리게잇 인스턴스로부터 데이터 전송 객체를 렌더링하기
__애그리게잇 내부 상태를 발행하기 위해 중재자를 사용하자
__도메인 페이로드 객체로부터 애그리게잇 인스턴스를 렌더링하라.
__애그리게잇 인스턴스의 상태 표현
__유스케이스 최적 리파지토리 쿼리
__다수의 개별 클라이언트를 처리하기
__변환(Rendition) 어댑터와 사용자 편집의 처리
애플리케이션 서비스
__애플리케이션 서비스 예제
__결합이 분리된 서비스 출력
여러 바운디드 컨텍스트 묶기
인프라
엔터프라이즈 컴포넌트 컨테이너
마무리

15 애그리게잇과 이벤트 소싱: A+ES
애플리케이션 서비스의 내부
커맨드 핸들러
람다 구문
동시성 제어
A+ES의 구조적 자유
성능
이벤트 저장소의 구현
관계형으로 저장하기
블롭(BLOB)으로 저장하기
집중된 애그리게잇
읽기 모델 투영
애그리게잇 설계와 함께 사용하기
이벤트 강화
지원 도구와 패턴
__이벤트 직렬화기
__이벤트 불변성
__값 객체
계약 생성
단위 테스트와 명세
함수형 언어에서의 이벤트 소싱
참고 문헌

추천사

에릭 에반스(도메인 랭귀지 주식회사)

반 버논(Vaughn Vernon)은 이 책에서 개념에 관한 새로운 설명 및 예제와 고유하게 선정된 주제의 묶음을 통해 도메인 주도 설계의 전반적 모습을 특별한 방법으로 표현했다. 나는 이 새로운 접근법이 DDD의 미묘한 부... 더보기

출판사 서평

★ 이 책에 쏟아진 찬사 ★

"반(Vaughn)은 이 책을 통해 문헌적 측면에서 도메인 주도 설계 커뮤니티에 기여했을 뿐만 아니라, 더 넓은 엔터프라이즈 애플리케이션 아키텍처 분야에 중요한 기여를 하게 됐다. 예를 들어 반은 아키텍처와 리파지토리에 관한 핵심 장에서 에릭 에반스(Eric Evans)의 기념비적인 책이 처음 발간된 이후의 10년간 떠오른 엔터프라이즈 애플리케이션을 위한 여러 아키텍처 스타일과 영속성 기술(SOA, REST, NoSQL 데이터 그리드 등)이 어떻게 DDD와 함께 사용될 수 있는지 보여준다. 또한 반은 ... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

  • 한기준
    27,900원
  • 이남호
    23,310원
  • 길벗R&D
    18,900원
  • 선양미
    18,900원
  • 박응용
    16,920원
더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품