장바구니 담기 close

장바구니에 상품을 담았습니다.

오브젝트 디자인 스타일 가이드

오브젝트 디자인 스타일 가이드

  • 마티아스노박
  • |
  • 위키북스
  • |
  • 2020-07-22 출간
  • |
  • 352페이지
  • |
  • 188 X 240 X 20 mm
  • |
  • ISBN 9791158392147
판매가

27,000원

즉시할인가

24,300

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
24,300

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평



★ 이 책에서 다루는 내용 ★

◎ 광범위한 객체에 대한 보편적 디자인 규칙
◎ 객체 테스트 모범 사례
◎ 공통 객체 타입 일람
◎ 객체 디자인 기술을 테스트하기 위한 장별 연습 문제


목차


▣ 01장: 객체로 프로그래밍하기 - 기초
1.1 클래스와 객체
1.2 상태
1.3 행위
1.4 의존성
1.5 상속
1.6 다형성
1.7 구성
1.8 클래스 조직
1.9 반환문과 예외
1.10 단위 테스트
1.11 동적 배열
요약

▣ 02장: 서비스 생성하기
2.1 객체의 두 종류
2.2 의존성과 설정값은 생성자 인자로 주입한다
___2.2.1 짝 지은 설정값은 함께 둔다
2.3 필요한 것의 위치가 아니라 필요한 것 자체를 주입한다
2.4 모든 생성자 인자는 필수여야 한다
2.5 생성자 주입만 사용한다
2.6 선택적인 의존성 같은 건 없다
2.7 모든 의존성을 명시한다
___2.7.1 정적 의존성을 객체 의존성으로 바꾼다
___2.7.2 복잡한 함수를 객체 의존성으로 바꾼다
___2.7.3 시스템 호출을 명백히 한다
2.8 작업 관련 데이터는 생성자 인자가 아니라 메서드 인자로 전달한다
2.9 서비스의 인스턴스를 만든 후에는 행위를 바꾸지 못하게 한다
2.10 생성자에서는 속성에 할당하는 일만 한다
2.11 인자가 유효하지 않으면 예외를 일으킨다
2.12 서비스는 적은 수의 진입점이 있는 변경 가능 객체 그래프로 정의한다
요약
[연습 문제 해답]

▣ 03장: 다른 객체 생성하기
3.1 일관성 있는 행위에 필요한 최소한의 데이터를 요구한다
3.2 의미 있는 데이터를 요구한다
3.3 유효하지 않은 인자에 대한 예외로 사용자 정의 예외 클래스를 사용하지 않는다
3.4 예외 메시지를 분석해 유효하지 않은 인자에 대한 특정 예외를 테스트한다
3.5 도메인 불변속성을 여러 곳에서 검증하지 않게 새 객체를 추출한다
3.6 복합 값은 새로운 객체로 추출해 나타낸다
3.7 단언으로 생성자 인자 유효성을 확인한다
3.8 의존성을 주입하지 말고 선택적인 메서드 인자로 전달한다.
3.9 명명한 생성자를 사용한다
___3.9.1 기본 타입 값으로 생성하기
___3.9.2 toString, toInt() 등을 즉시 추가하지 말자
___3.9.3 도메인별 개념을 도입한다
___3.9.4 선택적으로 비공개 생성자를 사용해 제약을 강제한다
3.10 속성 채움자를 사용하지 않는다
3.11 무엇이든 필요 이상으로 객체에 넣지 않는다
3.12 생성자는 테스트하지 않는다
3.13 예외 규칙: 데이터 전송 객체
___3.13.1 공개 속성을 사용한다
___3.13.2 예외를 일으키지 말고 유효성 오류를 수집한다
___3.13.3 속성 채움자는 필요할 때 사용한다
요약
[연습 문제 해답]

▣ 04장: 객체 다루기
4.1 개체: 변경을 추적하고 이벤트를 기록하는 식별 가능한 객체
4.2 값 객체: 교체할 수 있고 익명이며 변경 불가능한 값
4.3 데이터 전송 객체: 디자인 규칙이 적은 단순한 객체
4.4 변경 불가능 객체가 우선이다
___4.4.1 값을 변경하는 대신 교체한다
4.5 변경 불가능 객체의 변경자는 변경한 복사본을 반환해야 한다
4.6 변경 가능 객체의 변경자 메서드는 명령 메서드여야 한다
4.7 변경 불가능 객체의 변경자 메서드 이름은 서술형이어야 한다
4.8 객체 전체를 비교한다
4.9 변경 불가능 객체를 비교할 때는 동일성이 아닌 상등을 확인한다
4.10 변경자 메서드를 호출한 결과는 항상 유효한 객체여야 한다
4.11 변경자 메서드는 상태 변경 요청이 유효한지 확인해야 한다
4.12 내부에 기록한 이벤트를 사용해 변경 가능 객체의 변경을 확인한다
4.13 변경 가능 객체에는 흐름식 인터페이스를 구현하지 않는다
요약
[연습 문제 해답]

▣ 05장: 객체 사용하기
5.1 메서드를 구현하는 템플릿
___5.1.1 사전 조건 확인
___5.1.2 실패 시나리오
___5.1.3 행복한 경로
___5.1.4 사후 조건 확인
___5.1.5 반환 값
5.2 예외의 몇 가지 규칙
___5.2.1 사용자 정의 예외 클래스는 필요할 때만 사용한다
___5.2.2 유효하지 않은 인자나 논리 예외 클래스 명명하기
___5.2.3 실행 중 예외 클래스 명명하기
___5.2.4 명명한 생성자를 사용해 실패 이유를 나타낸다
___5.2.5 상세한 메시지를 추가한다
요약
[연습 문제 해답]

▣ 06장: 정보 가져오기
6.1 질의 메서드를 사용해 정보를 가져온다
6.2 질의 메서드의 반환 값은 단일 타입이어야 한다
6.3 초기 상태를 노출하는 질의 메서드를 피한다
6.4 원하는 질의에 대한 특정 메서드와 반환 타입을 정의한다
6.5 시스템 경계를 넘는 질의에는 추상화를 정의한다
6.6 질의 메서드에 테스트 대역용 스텁을 사용한다
6.7 질의 메서드는 명령 메서드가 아니라 다른 질의 메서드를 사용해야 한다
요약
[연습 문제 해답]

▣ 07장: 작업 수행하기
7.1 이름이 명령형인 명령 메서드를 사용한다
7.2 명령 메서드 유효 범위를 제한하고 이벤트를 사용해 부차적인 작업을 수행한다
7.3 서비스는 안팎으로 변경 불가능하게 한다
7.4 무언가 잘못되면 예외를 일으킨다
7.5 정보 수집에는 질의를, 다음 단계로 진행은 명령을 사용한다
7.6 시스템 경계를 넘는 명령에는 추상화를 정의한다
7.7 명령 메서드 호출은 목으로만 검증한다
요약
[연습 문제 해답]

▣ 08장: 책임 나누기
8.1 읽기와 쓰기 모델을 분리한다
8.2 사용 사례에 맞는 읽기 모델을 생성한다
8.3 읽기 모델은 해당 데이터 근원에서 직접 생성한다
8.4 도메인 이벤트에서 읽기 모델을 만든다
요약
[연습 문제 해답]

▣ 09장: 서비스 행위 변경하기
9.1 생성자 인자를 도입해 행위를 설정할 수 있게 한다
9.2 생성자 인자를 도입해 행위를 교체할 수 있게 한다
9.3 추상화를 구성해 더 복잡한 행위를 이룬다
9.4 기존 행위를 장식한다
9.5 추가 행위에는 통지 객체나 이벤트 수신자를 사용한다
9.6 객체 행위를 변경하는 데 상속을 사용하지 않는다
___9.6.1 상속은 언제 사용해도 될까?
9.7 클래스는 기본적으로 최종 상태로 표시한다
9.8 메서드와 속성은 기본적으로 비공개로 표시한다
요약
[연습 문제 해답]

▣ 10장: 객체에 대한 현장 가이드
10.1 제어기
10.2 응용 프로그램 서비스
10.3 쓰기 모델 저장소
10.4 개체
10.5 값 객체
10.6 이벤트 수신자
10.7 읽기 모델과 읽기 모델 저장소
10.8 추상화, 구체화, 계층 그리고 의존성
요약

▣ 11장: 끝맺으며
11.1 아키텍처 패턴
11.2 테스트
___11.2.1 클래스 테스트 대 객체 테스트
___11.2.2 하향식 기능 개발
11.3 도메인 주도 설계
11.4 결론

▣ 부록: 예제 코드에 대한 코딩 표준

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.