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

도메인 주도 설계 소프트웨어의 복잡성을 다루는 지혜

위키북스 IT Leaders 시리즈 13
에릭 에반스 지음 | 이대엽 옮김 | 위키북스 | 2011년 07월 21일 출간
클로버 리뷰쓰기

이 책의 다른 상품 정보

  • 정가 : 38,000원
    판매가 : 34,200 [10%↓ 3,800원 할인]
  • 통합포인트 :
    [기본적립] 1,900원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(31일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

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

  • 취업/수험서, 컴퓨터/IT 분야 도서 3만원 이상 구매 시 샤코..
    2020.10.14 ~ 2020.11.30
  • 개발자로 입문하기: 일단 이것부터 읽어보자!
    2019.05.31 ~ 2020.12.31
  • 위키북스의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2020.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9788992939850(899293985X)
쪽수 568쪽
크기 188 * 240 * 35 mm /1144g 판형알림
원서명/저자명 Domain-driven design/Evans, Eric

책소개

이 책이 속한 분야

소프트웨어의 복잡성을 다루는 지혜『도메인 주도 설계』. 이 책은 독자에게 도메인 주도 설계에 대한 체계적인 접근법을 제공하고 폭넓은 우수 설계 실천법과 경험을 토대로 한 기법, 복잡한 도메인에 직면한 소프트웨어 프로젝트의 발전을 가능하게 하는 근본 원칙을 제시한다. 설계 및 개발 원칙들을 실은 이 책은 현실세계의 소프트웨어 개발에 도메인 주도 설계를 응용한 모습을 생생하게 보여주는 실제 프로젝트에 기반한 수많은 예제들을 실었다.

목차

01부 동작하는 도메인 모델 만들기
도메인 주도 설계에서의 모델의 유용성
소프트웨어의 본질

01장 지식 탐구
효과적인 모델링의 요소
지식 탐구
지속적인 학습
지식이 풍부한 설계
심층 모델

02장 의사소통과 언어 사용
UBIQUITOUS LANGUAGE (보편 언어)
크게 소리내어 모델링하기
한 팀, 한 언어
문서와 다이어그램
- 글로 쓴 설계 문서
- 실행 가능한 기반
설명을 위한 모델

03장 모델과 구현의 연계
MODEL-DRIVEN DESIGN (모델 주도 설계)
모델링 패러다임과 도구 지원
내부 드러내기: 왜 모델이 사용자에게 중요한가
HANDS-ON MODELER (실천적 모델러)

02부 모델 주도 설계의 기본 요소

04장 도메인의 격리

LAYERED ARCHITECTURE (계층형 아키텍처)
- 계층 간 관계 설정
- 아키텍처 프레임워크
도메인 계층은 모델이 살아가는 곳
SMART UI(지능형 UI) “안티 패턴”
다른 종류의 격리

05장 소프트웨어에서 표현되는 모델
연관관계
ENTITY (엔티티, 참조객체라고도 함)
- ENTITY 모델링
- 식별 연산의 설계
VALUE OBJECT (값 객체)
- VALUE OBJECT의 설계
- VALUE OBJECT를 포함한 연관관계 설계
SERVICE(서비스)
- SERVICE와 격리된 도메인 계층
- 구성 단위
- SERVICE에 접근하기
MODULE(모듈, 패키지라고도 함)
- 기민한 MODULE
- 인프라스트럭처 주도 패키지화의 함정
모델링 패러다임
- 객체 패러다임이 지배적인 이유
- 객체 세계에서 객체가 아닌 것들
- 패러다임이 혼재할 때 MODEL-DRIVEN DESIGN 고수하기

06장 도메인 객체의 생명주기
AGGREGATE (집합)
FACTORY (팩터리)
- FACTORY와 FACTORY의 위치 선정
- 생성자만으로 충분한 경우
- 인터페이스 설계
- 불변식 로직의 위치
- ENTITY FACTORY와 VALUE OBJECT FACTORY
- 저장된 객체의 재구성
REPOSITORY (리파지터리)
- REPOSITORY에 질의하기
- 클라이언트 코드가 REPOSITORY 구현을 무시한다 (개발자는 그렇지 않지만)
- REPOSITORY 구현
- 프레임워크의 활용
- FACTORY와의 관계
관계형 데이터베이스를 위한 객체 설계

07장 언어의 사용(확장 예제)
화물 해운 시스템 소개
도메인 격리: 응용 기능 소개
ENTITY와 VALUE OBJECT의 구분
- 역할과 그 밖의 속성
해운 도메인의 연관관계 설계
AGGREGATE의 경계
REPOSITORY의 선정
시나리오 연습
- 예제 애플리케이션 기능: 화물의 목적지 변경
- 예제 애플리케이션 기능: 반복 업무
객체 생성
- Cargo에 대한 FACTORY와 생성자
- Handling Event 추가
리팩터링할 시간: Cargo AGGREGATE의 설계 대안
해운 모델의 MODULE
새로운 기능 도입: 할당량 검사
- 두 시스템의 연계
- 모델 강화: 업무 분야 나누기
- 성능 최적화
최종 검토

03부 더 심층적인 통찰력을 향한 리팩터링
리팩터링 수준
심층 모델
심층 모델/유연한 설계
발견 과정

08장 도약
도약에 관한 일화
- 괜찮은 모델이기는 하지만……
- 도약
- 더 심층적인 모델
- 냉정한 결정
- 결말
기회
기본에 집중하라
후기 : 연이은 새로운 통찰력의 출현

09장 암시적인 개념을 명확하게
개념 파헤치기
- 언어에 귀 기울여라
- 어색한 부분을 조사하라
- 모순점에 대해 깊이 고민하라
- 서적을 참고하라
- 시도하고 또 시도하라
다소 불명확한 개념의 모델링
- 명시적인 제약조건
- 도메인 객체로서의 프로세스
SPECIFICATION (명세)
- SPECIFICATION의 적용과 구현

10장 유연한 설계
INTENTION-REVEALING INTERFACE (의도를 드러내는 인터페이스)
SIDE -EFFECT-FREE FUNCTION (부수효과가 없는 함수)
ASSERTION (단정)
CONCEPTUAL CONTOUR (개념적 윤곽)
STANDALONE CLASS (독립형 클래스)
CLOSURE OF OPERATION (연산의 닫힘)
선언적 설계
- 도메인 특화 언어
선언적인 형식의 설계
- SPECIFICATION을 선언적인 형식으로 확장하기
받음각
- 서브 도메인으로 분할하라
- 가능하다면 정립된 정형화를 활용하라

11장 분석 패턴의 적용

12장 모델과 디자인 패턴의 연결

STRATEGY (POLICY라고도 함)
COMPOSITE (복합체)
그렇다면 FLYWEIGHT는?

13장 더 심층적인 통찰력을 향한 리팩터링
시작
조사팀
선행 기술
개발자를 위한 설계
타이밍
위기를 기회로

04부 전략적 설계

14장 모델의 무결성 유지

BOUNDED CONTEXT (제한된 컨텍스트)
- BOUNDED CONTEXT 안의 균열 인식
CONTINUOUS INTEGRATION (지속적인 통합)
CONTEXT MAP (컨텍스트 맵)
- CONTEXT 경계에서의 테스트
- CONTEXT MAP의 조직화와 문서화
BOUNDED CONTEXT 간의 관계
SHARED KERNEL (공유 커널)
CUSTOMER/SUPPLIER DEVELOPMENTTEAM (고객/공급자 개발 팀)
CONFORMIST (준수자)
ANTICORRUPTION LAYER (오류 방지 계층)
- ANTICORRUPTION LAYER의 인터페이스 설계
- ANTICORRUPTION LAYER의 구현
- 교훈적인 이야기
SEPARATE WAYS (각자의 길)
OPEN HOST SERVICE (공개 호스트 서비스)
PUBLISHED LANGUAGE (공표된 언어)
코끼리 통일하기
모델의 컨텍스트 전략 선택
- 팀 의사결정 또는 그 이상
- 우리 자신을 컨텍스트에 배치하기
- 경계의 변형
- 변경할 수 없다는 사실을 인정하기: 외부 시스템의 묘사
- 외부 시스템과의 관계
- 설계 중인 시스템
- 개별 모델의 특수한 요구사항 충족하기
- 배치
- 타협점
- 프로젝트가 이미 진행 중일 때
변형
- CONTEXT 병합: SEPARATE WAYS → SHARED KERNEL
- CONTEXT 병합: SHARED KERNEL → CONTINUOUS INTEGRATION
- 레거시 시스템의 단계적 폐기
- OPEN HOST SERVICE → PUBLISHED LANGUAGE

15장 디스틸레이션
CORE DOMAIN (핵심 도메인)
- CORE 선택
- 누가 그 일을 할 것인가?
디스틸레이션의 단계적 확대
GENERIC SUBDOMAIN (일반 하위 도메인)
- 일반화가 재사용 가능하다는 의미는 아니다
- 프로젝트 위험 관리
DOMAIN VISION STATEMENT (도메인 비전 선언문)
HIGHLIGHTED CORE (강조된 핵심)
- 디스틸레이션 문서
- 표시된 CORE
- 프로세스 도구로서의 디스틸레이션 문서
COHESIVE MECHANISM (응집력 있는 메커니즘)
- GENERIC SUBDOMAIN과 COHESIVE MECHANISM
- MECHANISM이 CORE DOMAIN의 일부인 경우
선언적 형식의 디스틸레이션
SEGREGATED CORE (분리된 핵심)
- SEGREGATED CORE를 만드는 데 드는 비용
- 발전하는 팀의 의사결정
ABSTRACT CORE (추상화된 핵심)
심층 모델의 디스틸레이션
리팩터링의 대상 선택

16장 대규모 구조
EVOLVING ORDER (발전하는 질서)
SYSTEM METAPHOR (시스템 은유)
- “미숙한 은유”와 그것이 필요 없는 이유
RESPONSIBILITY LAYER (책임 계층)
- 적절한 계층의 선택
KNOWLEDGE LEVEL (지식 수준)
PLUGGABLE COMPONENT FRAMEWORK (착탈식 컴포넌트 프레임워크)
구조는 얼마나 제약성을 지녀야 하는가?
잘 맞아떨어지는 구조를 향한 리팩터링
- 최소주의
- 의사소통과 자기 훈련
- 재구조화가 유연한 설계를 낳는다
- 디스틸레이션은 부하를 줄인다

17장 전략의 종합
대규모 구조와 BOUNDED CONTEXT와의 결합
대규모 구조와 디스틸레이션과의 결합
평가 먼저
누가 전략을 세우는가?
- 애플리케이션 개발에서 창발하는 구조
- 고객(애플리케이션 개발팀) 중심의 아키텍처 팀
전략적 설계 결정을 위한 6가지 필수 요소
- 기술 프레임워크도 마찬가지다
- 종합계획을 조심하라

결론

맺음말
앞을 내다보며

부록 이 책에 포함된 패턴의 사용법
패턴 이름

용어 설명
참고 문헌
사진 협찬
찾아보기

책 속으로

소프트웨어의 존재 가치는 어디에 있는가? 순수하게 기술적인 분야가 아니라면 아마 특정 업무 분야의 문제를 해결하는 데 있을 것이다. 아무리 기술적으로 정교하고 뛰어난 기능성을 갖추더라도 당면한 문제를 해결하지 못하는 소프트웨어는 실패한 소프트웨어에 지나지 않는다. 어찌 보면 너무나 상식적인 얘기로 들릴지도 모르지만 소프트웨어 업계에 종사하는 개발자들은 기술적인 쟁점에 관심을 보이고 거기에 집중하는 경향이 있다.

『도메인 주도 설계』는 소프트웨어의 핵심에 놓인 복잡성을 다루는 패턴과 기법, 원칙이 담긴 책이다. 이 책은 결국 그... 더보기

출판사 서평

소프트웨어의 복잡성을 다스려라!

소프트웨어의 복잡성은 도메인에서 기인하고, 그러한 복잡성을 어떻게 다루느냐가 프로젝트의 성패를 좌우한다. 도메인 주도 설계(Domain-Driven Design)는 복잡한 요건을 지닌 소프트웨어를 개발하는 접근법의 하나다. 도메인 주도 설계에서는 소프트웨어 프로젝트가 핵심 도메인과 도메인 로직에 집중하고, 복잡한 설계는 모델을 기반으로 해야 한다는 전제에서 출발해 유용한 소프트웨어를 개발하는 험난한 여정에서 중요한 설계 결정이나 전략적 사고와 안목이 필요할 때마다 구심점 역할을 할 것이다.
... 더보기

Klover 리뷰 (0)

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

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

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

교환/반품/품절안내

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

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

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

바로가기

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

최근 본 상품