장바구니 담기 close

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

HEAD FIRST DESIGN PATTERNS

HEAD FIRST DESIGN PATTERNS

  • 에릭 프리먼 외
  • |
  • 한빛미디어
  • |
  • 2005-09-04 출간
  • |
  • 672페이지
  • |
  • 235 X 203 mm
  • |
  • ISBN 9788979143409
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

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

수량
+ -
총주문금액
25,200

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

출판사서평

정말 쿨~ 하게 배우는 디자인 패턴 학습법

다른 사람들이 뭔가를 만들어 놓았고, 누구든 마음대로 사용해도 되는 게 있다면, 여러분이 굳이 고생해서 똑같은 걸 만들어 써야 할 필요는 없을 겁니다. 디자인 패턴은 다른 사람들이 고생해서 만들어 놓은 것이라고 생각하면 됩니다. 소프트웨어를 디자인하는 과정에서 여러분과 똑같은 문제를 경험했던 선배들이 깨달은 교훈을 정리해 놓은 것이죠. 디자인 패턴을 사용하면 다른 사람들의 노력과 경험을 바로 활용해서 시간과 에너지를 절약할 수 있습니다. 대신 도전할 만한 가치가 있는 것, 더 복잡한 것, 더 재미있는 것에 시간과 노력을 쏟을 수 있는 거죠. 아마 디자인 패턴에 대해 공부하고자 한다면 다음과 같은 것을 배워야 할 것입니다.

ㆍ 중요한 패턴
ㆍ 사용 시기 및 이유
ㆍ 즉시 디자인에 적용하는 방법
ㆍ 쓰지 말아야 하는 경우 (패턴 중독을 피하는 방법)
ㆍ 패턴의 근간이 되는 객체지향 디자인 원칙

그리고 지루하지 않은 방법으로 디자인 패턴을 배우는 것도 정말 중요하겠죠? 헤드 퍼스트 시리즈를 한 권이라도 읽어 보았다면 이 책이 어떤 책일지도 쉽게 짐작할 수 있을 겁니다. 볼 거리가 많고, 머리 속에 쏙쏙 들어오는 방식으로 구성되어 있죠. 신경생물학, 인지과학, 학습이론 같은 분야의 최신 연구 결과를 바탕으로 만든 이 책을 읽다 보면 패턴들이 머리 속에 쏙쏙 박혀서 쉽게 빠져나가지 않을 겁니다. 그렇게 되면 당연히 소프트웨어 디자인 문제 해결 능력도 증대되고, 동료들과 패턴에 대해 의논할 때 구사할 수 있는 패턴 관련 용어에도 능통하게 될 것입니다.

목차

1. 디자인 패턴 소개
SimUDuck
조는 상속에 대해서 생각을 해 봅니다...
인터페이스는 어떨까요?
소프트웨어 개발에 있어서 바뀌지 않는 것
바뀌는 부분과 그렇지 않은 부분 분리하기
오리의 행동 디자인
Duck 코드 테스트
동적으로 행동을 지정하는 방법
캡슐화된 행동을 큰 그림으로 바라봅시다
“A는 B이다”보다“A에는 B가 있다”가 나을 수 있습니다
스트래티지 패턴
전문 용어의 위력
디자인 패턴을 어떻게 사용하나요?
디자인 도구상자
연습문제 정답

2. 옵저버 패턴
기상 모니터링 애플리케이션 개요
옵저버 패턴을 만나봅시다
출판사+구독자=옵저버 패턴
5분 드라마: 옵저버와 주제
옵저버 패턴의 정의
느슨한 결합의 위력
기상 스테이션 설계
기상 스테이션 구현
자바 내장 옵저버 패턴 사용하기
java.util.Observable의 단점
디자인 도구상자
연습문제 정답

3. 데코레이터 패턴
스타버즈에 오신 것을 환영합니다
OCP(Open-Closed Principle)
데코레이터 패턴
데코레이터를 써서 음료 주문을 완성하는 방법
데코레이터 패턴의 정의
Beverage 클래스를 장식해 봅시다
스타버즈 코드를 만들어 봅시다
데코레이터가 적용된 예: 자바 I/O
자바 I/O 데코레이터
디자인 도구상자
연습문제 정답

4. 팩토리 패턴
“new”는“구상 객체”를 뜻합니다.
객체마을 피자
객체 생성 부분을 캡슐화합시다
간단한 피자 팩토리를 만들어 봅시다
간단한 팩토리 정의
피자 가게 프레임워크
서브클래스에서 결정되는 것
PizzaStore를 만듭시다
팩토리 메소드 선언
팩토리 메소드 패턴 만나기
병렬 클래스 계층구조
팩토리 메소드 패턴의 정의
심하게 의존적인 PizzaStore
객체 의존성 살펴보기
의존성 뒤집기 원칙
그동안 피자 가게에서는...
원재료군
원재료 공장 만들기
추상 팩토리 살펴보기
무대 뒤에서
추상 팩토리 패턴 정의
팩토리 메소드 패턴과 추상 팩토리 패턴
디자인 도구상자
연습문제 정답

5. 싱글턴 패턴
유일무이한 객체
리틀 리스퍼
고전적인 싱글턴 패턴 구현법
싱글턴의 심경 고백
초콜릿 공장
싱글턴 패턴의 정의
허쉬, 문제가 생겼다
JVM이 되어 봅시다
멀티스레딩 문제 해결 방법
싱글턴 관련 Q&A
디자인 도구상자
연습문제 정답

6. 커맨드 패턴
홈 오토메이션
리모컨
클래스들을 살펴 봅시다
그동안 식당에서는...
서로 어떤 식으로 연관되는지 조금 더 자세히 봅시다
객체마을 식당 등장인물 및 그 역할
객체마을 식당과 커맨드 패턴
첫 번째 커맨드 객체
커맨드 패턴의 정의
커맨드 패턴과 리모컨
리모컨 코드
리모컨 테스트
API 문서를 만들어 봅시다...
작업취소 기능을 구현할 때 상태를 사용하는 방법
리모컨에 파티 모드를...
매크로 커맨드 사용 방법
커맨드 패턴 활용: 요청을 큐에 저장하기
커맨드 패턴 활용: 요청을 로그에 기록하기
디자인 도구상자
연습문제 정답

7. 어댑터 패턴과 퍼사드 패턴
어댑터
객체지향 어댑터
어댑터 패턴
어댑터 패턴의 정의
객체와 클래스 어댑터
오늘의 주제: 객체 어댑터와 클래스 어댑터
어댑터 실전 예제
Enumeration을 Iterator에 적응시키기
오늘의 주제: 데코레이터 패턴과 어댑터 패턴
홈 씨어터
전등, 카메라, 퍼사드!
홈 씨어터 퍼사드 구축
퍼사드 패턴의 정의
최소 지식 원칙
디자인 도구상자
연습문제 정답

8. 템플릿 메소드 패턴
커피 및 홍차 클래스 만들기
커피 및 홍차 추상화
디자인에 대해 좀더 생각해 봅시다...
prepareRecipe() 추상화
한번 정리해 봅시다...
템플릿 메소드 패턴
차를 만들어 볼까요?
템플릿 메소드로부터 무엇을 얻을 수 있었나요?
템플릿 메소드 패턴의 정의
코드 탐구
템플릿 메소드와 후크
후크 활용
한번 테스트해 볼까요?
헐리우드 원칙
헐리우드 원칙과 템플릿 메소드 패턴
야생의 템플릿 메소드
템플릿 메소드를 이용해서 정렬하기
오리를 정렬해야 합니다...
Duck 객체 대소 비교
오리 정렬 메이킹 필름
스윙 프레임
애플릿
오늘의 주제: 템플릿 메소드 패턴과 스트래티지 패턴
디자인 도구상자
연습문제 정답

9. 이터레이터와 컴포지트 패턴
객체마을 식당과 객체마을 팬케이크하우스 합병
루와 멜의 메뉴 구현법
반복을 캡슐화할 수 있을까요?
이터레이터 패턴을 만나 봅시다
DinerMenu에 Iterator를 추가합시다
디자인 살펴보기
java.util.Iterator 적용하기
한번 정리해 볼까요?
이터레이터 패턴의 정의
단일 역할 원칙
반복자와 컬렉션
자바 5에서의 반복자와 컬렉션
괜찮을 것 같았는데...
컴포지트 패턴의 정의
컴포지트 패턴을 이용한 메뉴 디자인
메뉴 구현
이터레이터
널 반복자
이터레이터 패턴과 컴포지트 패턴의 조화
디자인 도구상자
연습문제 정답

10. 스테이트 패턴
상태 구현 방법?
상태 기계의 기초
뽑기 기계 구현
이럴 줄 알았다니까요... 변경 요청 들어왔습니다.
지저분한 상태
State 인터페이스 및 클래스 정의
상태 클래스 구현
뽑기 기계 수정
스테이트 패턴의 정의
스테이트 패턴 vs. 스트래티지 패턴
정상성 점검
하마터면 그냥 넘어갈 뻔 했네요
디자인 도구상자
연습문제 정답

11. 프록시 패턴
뽑기 기계 모니터링
‘원격 프록시’의 역할
RMI의 기초
뽑기 기계 원격 프록시
무대 뒤의 원격 프록시
프록시 패턴의 정의
가상 프록시
CD 커버 뷰어 가상 프록시 디자인
무대 뒤의 가상 프록시
자바 API 프록시
5분 드라마: 주 객체 보호
동적 프록시 만들기
프록시 동물원
디자인 도구상자
연습문제 정답

12. 컴파운드 패턴
컴파운드 패턴
오리와의 재회
어댑터 추가
데코레이터 추가
팩토리 추가
컴포지트 및 이터레이터 패턴 추가
옵저버 패턴 추가
패턴 정리
클래스 다이어그램
MVC 송
MVC와 디자인 패턴
패턴 안경으로 MVC 바라보기
MVC를 이용한 박자 조절
모델

컨트롤러
전략 패턴 탐색
모델 적응시키기
HeartController 준비
MVC와 웹
디자인 패턴과 모델 2
디자인 도구상자
연습문제 정답

13. 패턴과 함께 하는 행복한 삶
객체마을 가이드
디자인 패턴의 정의
디자인 패턴의 정의 - 조금 더 자세히
포스가 함께 하기를...
패턴 카탈로그
패턴을 찾는 방법
디자인 패턴 작가가 되고 싶으신가요?
디자인 패턴 분류하기
패턴으로 생각하기
패턴을 대하는 마음가짐
전문 용어의 위력을 잊지 맙시다
용어를 공유하는 다섯 가지 방법
4인방과 함께 하는 객체마을 여행
패턴을 찾아 떠나는 여행...
기타 디자인 패턴 관련 자료
패턴 동물원
사악한 안티 패턴 섬멸하기
디자인 도구상자
객체마을을 떠나며...

14. 부록: 기타 패턴
브리지 패턴
빌더 패턴
역할 사슬 패턴
플라이웨이트 패턴
인터프리터 패턴
미디에이터 패턴
메멘토 패턴
프로토타입 패턴
비지터 패턴

찾아보기

저자소개

[저자소개]
에릭 프리먼(Eric Freeman)과 엘리자베스 프리먼(Elisabeth Freeman)
에릭 프리먼과 엘리자베스 프리먼은 저술가, 강사로 활동하고 있으며, 기술을 혁신하기 위한 일들을 하고 있습니다. 4년 동안 월트디즈니사에서 디지털 미디어 및 인터넷 팀을 이끌다가, 그곳에서 익힌 경험을 여러 방면에 적용하기 시작했고, 이 책도 그 결과물 중 하나입니다. 에릭과 엘리자베스는 모두 예일대 대학원을 졸업했습니다(엘리자베스는 석사 학위를, 에릭은 박사 학위를 가지고 있습니다).

케이시 시에라(Kathy Sierra)
케이시는 게임 설계를 하던 시절(Virgin, MGM, Amblin\' 등에서 게임을 제작했습니다)부터 학습 이론에 관심이 있었습니다. UCLA 평생교육원의 엔터테인먼트 연구 프로그램에서 뉴 미디어 제작 강의를 하는 동안에 헤드 퍼스트 포맷의 상당 부분을 개발했습니다. 최근에는 썬 마이크로시스템즈에서 썬의 자바 강사들에게 자바 최신 기술을 가르치는 방법을 가르치는 수석 강사로도 활동하고 있습니다. 그녀는 버트 베이츠와 함께 이 책에 있는 개념을 적극적으로 활용하여 수백여 명의 강사, 개발자, 심지어는 프로그래머가 아닌 일반인들에게도 강의를 하고 있습니다. 그리고 「소프트웨어 디벨로프먼트(Software Development)」의 2003년 생산성 대상을 수상하기도 한 전세계에서 가장 큰 자바 커뮤니티 웹사이트 가운데 하나인 javaranch.com의 공동 설립자이기도 합니다. 자바 잼 긱 크루즈(Java Jam Geek Cruise, geekcruises.com) 사이트에 가면 그녀가 강의하는 자바 클래스 강의를 볼 수 있습니다.

버트 베이츠(Bert Bates)
버트는 소프트웨어 개발자와 설계자로 활동하고 있지만 십여년 전부터 인공 지능에 관심을 두고 있었기 때문에 학습 이론과 학습 기술을 바탕으로 한 교육 및 훈련에 대해 지대한 관심이 있습니다. 그는 아주 오래 전부터 고객들에게 프로그래밍을 가르치고 있습니다. 최근에는 몇 가지 자바 자격증 시험의 개발팀에서 일하기도 했습니다.

[역자소개]
서환수 : hssuh@csns.snu.ac.kr
역자 서환수는 물리학을 전공하는 대학원생입니다. 유치원에도 들어가기 전부터 아무것도 모르고 물리학을 하겠다고 마음먹은 이후로, 우리 나이로 서른이 넘은 지금까지도 “어떤 사람이 되고 싶냐?”는 질문을 받으면 “훌륭한 과학자요”라고 대답하고 있습니다(조금 대책이 없지요). 『Head First Java: 뇌 회로를 자극하는 자바 학습법』을 비롯해서 한빛미디어와 함께 몇 권의 번역서를 냈습니다. 결혼한지 3년이 넘었지만 아직 신혼 같은 기분으로 아내와 함께 알콩달콩 지내고 있습니다.

도서소개

참신한 유머와 퍼즐, 비주얼한 그림 그리고 친숙한 대화 스타일 등 색다른 시도로 주목받는 Head First 시리즈의 DESIGN PATTERNS 편. 디자인 패턴을 사용하면 다른 사람들의 노력과 경험을 바로 활용해서 시간과 에너지를 절약할 수 있다. 이 책은 중요한 디자인 패턴과 사용 시기 및 이유, 즉시 디자인에 적용하는 방법, 패턴의 근간이 되는 객체지향 디자인 원칙 등의 내용 등을 다루고 있다.

신경생물학, 인지과학, 학습이론 같은 분야의 최신 연구 결과를 바탕으로 만든 이 책을 읽다 보면 패턴들이 머리 속에 쉽게 들어오게 될 것이다. 이 책을 활용하면 소프트웨어 디자인 문제 해결 능력이 증대되고, 동료들과 패턴에 대해 의논할 때 구사할 수 있는 패턴 관련 용어에도 능통하게 도와줄 것이다.

교환 및 환불안내

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