logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

헤드 퍼스트 디자인 패턴

헤드 퍼스트 디자인 패턴

(14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법, 개정판)

에릭 프리먼, 엘리자베스 롭슨, 케이시 시에라, 버트 베이츠 (지은이), 서환수 (옮긴이)
  |  
한빛미디어
2022-03-16
  |  
36,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 32,400원 -10% 0원 1,800원 30,600원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 28,800원 -10% 1440원 24,480원 >

책 이미지

헤드 퍼스트 디자인 패턴

책 정보

· 제목 : 헤드 퍼스트 디자인 패턴 (14가지 GoF 필살 패턴! 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법, 개정판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 객체지향 프로그래밍/UML
· ISBN : 9791162245262
· 쪽수 : 656쪽

책 소개

하나의 패턴에 하나의 이야기를 담았다. 틀에 박히지 않아 지루할 틈이 없는 구성과 친구와 이야기하듯 편안한 대화체로 이야기를 풀어낸다. 이야기 속에 다양한 방법으로 해결할 수 있는 질문과 90개 이상의 연습문제를 담았다.

목차

이 책에 쏟아진 찬사
독자가 보내는 찬사
<헤드 퍼스트> 시리즈에 쏟아진 찬사
지은이 소개
<헤드 퍼스트> 시리즈 만든이 소개
옮긴이의 말

00장 들어가며 | 이 책을 읽는 방법
__ 이 책의 독자
__ 이 책이 이렇게 된 이유
__ 이 책의 구성
__ 여러분의 두뇌를 정복하는 방법
__ 일러두기
__ 테크니컬 리뷰어
__ 감사의 글

01장 디자인 패턴 소개와 전략 패턴 | 디자인 패턴의 세계로 떠나기
__ 오리 시뮬레이션 게임, SimUduck
__ 오리 시뮬레이션 게임 차별화하기
__ 경고! 심각한 문제 발생
__ 상속을 생각하기
__ 인터페이스 설계하기
__ 해결 방법 고민하기
__ 소프트웨어 개발 불변의 진리
__ 문제를 명확하게 파악하기
__ 바뀌는 부분과 그렇지 않은 부분 분리하기
__ 오리의 행동을 디자인하는 방법
__ 오리의 행동을 구현하는 방법
__ 오리 행동 통합하기
__ 오리 코드 테스트
__ 동적으로 행동 지정하기
__ 캡슐화된 행동 살펴보기
__ 두 클래스를 합치는 방법
__ 첫 번째 디자인 패턴: 전략 패턴
__ 디자인 패턴 만나기
__ 패턴과 전문 용어
__ 디자인 패턴 사용법
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

02장 옵저버 패턴 | 객체들에게 연락 돌리기
__ 기상 모니터링 애플리케이션 알아보기
__ WeatherData 클래스 살펴보기
__ 구현 목표
__ 기상 스테이션용 코드 추가하기
__ 원칙으로 추가 코드 살펴보기
__ 옵저버 패턴 이해하기
__ 옵저버 패턴의 작동 원리
__ 옵저버 패턴의 정의
__ 옵저버 패턴의 구조
__ 느슨한 결합의 위력
__ 기상 스테이션 설계하기
__ 기상 스테이션 구현하기
__ Subject 인터페이스 구현하기
__ 디스플레이 요소 구현하기
__ 기상 스테이션 테스트
__ 라이브러리 속 옵저버 패턴 알아보기
__ 인생을 바꿀 애플리케이션 만들기
__ 풀 방식으로 코드 바꾸기
__ 업데이트한 기상 스테이션 코드 테스트
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

03장 데코레이터 패턴 | 객체 꾸미기
__ 초대형 커피 전문점, 스타버즈
__ OCP 살펴보기
__ 데코레이터 패턴 살펴보기
__ 주문 시스템에 데코레이터 패턴 적용하기
__ 데코레이터 패턴의 정의
__ Beverage 클래스 장식하기
__ 데코레이터 패턴 적용 연습
__ 커피 주문 시스템 코드 만들기
__ 음료 코드 구현하기
__ 첨가물 코드 구현하기
__ 커피 주문 시스템 코드 테스트
__ 데코레이터가 적용된 예: 자바 I/O
__ java.io 클래스와 데코레이터 패턴
__ 자바 I/O 데코레이터 만들기
__ 새로 만든 자바 I/O 데코레이터 테스트
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

04장 팩토리 패턴 | 객체지향 빵 굽기
__ 최첨단 피자 코드 만들기
__ 피자 코드 추가하기
__ 객체 생성 부분 캡슐화하기
__ 객체 생성 팩토리 만들기
__ 클라이언트 코드 수정하기
__ ‘간단한 팩토리’의 정의
__ 다양한 팩토리 만들기
__ 피자 가게 프레임워크 만들기
__ 서브클래스가 결정하는 것 알아보기
__ 피자 스타일 서브클래스 만들기
__ 팩토리 메소드 선언하기
__ 피자 팩토리 메소드로 피자 주문하기
__ Pizza 클래스 만들기
__ 최첨단 피자 코드 테스트
__ 팩토리 메소드 패턴 살펴보기
__ 병렬 클래스 계층구조 알아보기
__ 팩토리 메소드 패턴의 정의
__ 객체 의존성 살펴보기
__ 의존성 뒤집기 원칙
__ 의존성 뒤집기 원칙 적용하기
__ 생각 뒤집기
__ 의존성 뒤집기 원칙을 지키는 방법
__ 원재료 종류 알아보기
__ 원재료군으로 묶기
__ 원재료 팩토리 만들기
__ 뉴욕 원재료 팩토리 만들기
__ Pizza 클래스 변경하기
__ 올바른 재료 공장 사용하기
__ 바뀐 내용 되돌아보기
__ 새로운 코드로 또 피자 주문하기
__ 추상 팩토리 패턴의 정의
__ 팩토리 메소드 패턴과 추상 팩토리 패턴
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

05장 싱글턴 패턴 | 하나뿐인 특별한 객체 만들기
__ 리틀 싱글턴 알아보기
__ 고전적인 싱글턴 패턴 구현법
__ 초콜릿 보일러 코드 살펴보기
__ 싱글턴 패턴의 정의
__ 허쉬! 초콜릿 보일러에 문제 발생
__ 멀티스레딩 문제 살펴보기
__ 멀티스레딩 문제 해결하기
__ 더 효율적으로 멀티스레딩 문제 해결하기
__ 문제를 해결하는 적절한 방법 선택하기
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

06장 커맨드 패턴 | 호출 캡슐화하기
__ 만능 IoT 리모컨
__ 협력 업체 클래스 살펴보기
__ 커맨드 패턴 소개
__ 음식 주문 과정 자세히 살펴보기
__ 객체마을 식당 등장인물의 역할
__ 객체마을 식당과 커맨드 패턴
__ 첫 번째 커맨드 객체 만들기
__ 커맨드 객체 사용하기
__ 커맨드 패턴의 정의
__ 커맨드 패턴 클래스 다이어그램 살펴보기
__ 슬롯에 명령 할당하기
__ 리모컨 코드 만들기
__ 커맨드 클래스 만들기
__ 리모컨 테스트
__ API 문서 만들기
__ 작업 취소 기능 추가하기
__ 작업 취소 기능 테스트
__ 작업 취소 기능을 구현할 때 상태를 사용하는 방법
__ 선풍기 명령어에 작업 취소 기능 추가하기
__ 선풍기 테스트 코드 만들기
__ 선풍기 코드 테스트
__ 여러 동작을 한 번에 처리하기
__ 매크로 커맨드 사용하기
__ 커맨드 패턴 활용하기
__ 커맨드 패턴 더 활용하기
__ 실전 적용! 커맨드 패턴
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

07장 어댑터 패턴과 퍼사드 패턴 | 적응시키기
__ 어댑터 살펴보기
__ 객체지향 어댑터 알아보기
__ 어댑터 사용 방법 알아보기
__ 오리 어댑터 테스트
__ 어댑터 패턴 알아보기
__ 어댑터 패턴의 정의
__ 객체 어댑터와 클래스 어댑터
__ 실전 적용! 어댑터 패턴
__ Enumeration을 Iterator에 적응시키기
__ 퍼사드 패턴 맛보기
__ 홈시어터 만들기
__ 복잡한 방법으로 영화 보기
__ 퍼사드 작동 원리 알아보기
__ 홈시어터 퍼사드 만들기
__ 단순화된 인터페이스 만들기
__ 편한 방법으로 영화 보기
__ 퍼사드 패턴의 정의
__ 최소 지식 원칙
__ 친구를 만들지 않고 다른 객체에 영향력 행사하기
__ 절친에게만 메소드 호출하기
__ 퍼사드 패턴과 최소 지식 원칙
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

08장 템플릿 메소드 패턴 | 알고리즘 캡슐화하기
__ 커피와 홍차 만들기
__ Coffee 클래스와 Tea 클래스 만들기
__ Coffee 클래스와 Tea 클래스 추상화하기
__ 추상화 방법 들여다보기
__ prepareRecipe( ) 메소드 추상화하기
__ 커피와 홍차를 만드는 과정 다시 살펴보기
__ 템플릿 메소드 패턴 알아보기
__ 템플릿 메소드 패턴의 장점 알아보기
__ 템플릿 메소드 패턴의 정의
__ 템플릿 메소드 속 후크 알아보기
__ 후크 활용하기
__ 후크 코드 테스트
__ 할리우드 원칙
__ 할리우드 원칙과 템플릿 메소드 패턴
__ 자바 API 속 템플릿 메소드 패턴 알아보기
__ 템플릿 메소드로 정렬하는 방법
__ 오리 정렬하기
__ 오리 대소 비교
__ 오리 정렬 코드 테스트
__ 템플릿 메소드로 그래픽 출력하기
__ AbstractList로 나만의 리스트 만들기
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

09장 반복자 패턴과 컴포지트 패턴 | 컬렉션 잘 관리하기
__ 속보! 객체마을 식당과 팬케이크 하우스 합병
__ 메뉴 항목 살펴보기
__ 루와 멜의 메뉴 구현법 비교하기
__ 자격 요건 구현하기: 1차 시도
__ 반복을 캡슐화하기
__ 반복자 패턴 알아보기
__ 객체마을 식당 메뉴에 반복자 추가하기
__ 객체마을 식당 메뉴에서 반복자 사용하기
__ 종업원 코드에 반복자 적용하기
__ 종업원 코드 테스트
__ 반복자 패턴의 특징 알아보기
__ 통합 식당 코드 다시 살펴보기
__ 인터페이스 개선하기
__ java.util.Iterator 적용하기
__ 변경된 통합 식당 코드 살펴보기
__ 반복자 패턴의 정의
__ 반복자 패턴의 구조 알아보기
__ 단일 역할 원칙
__ Iterable 인터페이스 알아보기
__ 향상된 for 순환문 알아보기
__ 향상된 for 순환문 사용 시 주의사항
__ 객체마을 카페 메뉴 살펴보기
__ 객체마을 카페 메뉴 코드 고치기
__ 종업원 코드에 카페 메뉴 추가하기
__ 카페 메뉴까지 추가된 통합 식당 코드 테스트
__ 반복자와 컬렉션
__ 종업원 코드 개선하기
__ 리팩터링 준비하기
__ 컴포지트 패턴의 정의
__ 컴포지트 패턴으로 메뉴 디자인하기
__ 메뉴 구성 요소 구현하기
__ 메뉴 항목 구현하기
__ 메뉴 구현하기
__ 종업원 코드에 컴포지트 적용하기
__ 메뉴 코드 테스트
__ 메뉴 코드 테스트 결과
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

10장 상태 패턴 | 객체의 상태 바꾸기
__ 최첨단 뽑기 기계
__ 상태 기계 기초 지식 알아보기
__ 뽑기 기계 코드 만들기
__ 뽑기 기계 코드 테스트
__ 알림! 뽑기 기계 코드 수정 요청
__ 요청 사항 살펴보기
__ 새로운 디자인 구상하기
__ State 인터페이스 및 클래스 정의하기
__ State 클래스 구현하기
__ 뽑기 기계 코드 수정하기
__ 뽑기 기계 전체 코드 살펴보기
__ 다른 상태 클래스 구현하기
__ 뽑기 기계 구조 다시 살펴보기
__ 상태 패턴의 정의
__ 보너스 알맹이 당첨 기능 추가하기
__ 데모 버전 돌려보기
__ 정상성 점검하기
__ 리필 기능 추가해보기
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답

11장 프록시 패턴 | 객체 접근 제어하기
__ 모니터링 코드 만들기
__ 모니터링 기능 테스트
__ 원격 프록시의 역할
__ 모니터링 코드에 원격 프록시 추가하기
__ 원격 메소드의 기초
__ 메소드 호출 과정 알아보기
__ 자바 RMI의 개요
__ 원격 서비스 만들기
__ 1단계: 원격 인터페이스 만들기
__ 2단계: 서비스 구현 클래스 만들기
__ 3단계: rmiregistry 실행하기
__ 4단계: 원격 서비스 실행하기
__ 서버에 필요한 코드 살펴보기
__ 클라이언트 코드 살펴보기
__ 뽑기 기계용 원격 프록시 고민하기
__ GumballMachine 클래스를 원격 서비스로 바꾸기
__ RMI 레지스트리 등록하기
__ GumballMonitor 클라이언트 코드 고치기
__ 새로운 모니터링 기능 테스트
__ 데모 버전 만들기
__ 데모 버전 돌려보기
__ 프록시 패턴의 정의
__ 원격 프록시와 가상 프록시 비교하기
__ 앨범 커버 뷰어 만들기
__ 앨범 커버 가상 프록시 설계하기
__ ImageProxy 코드 만들기
__ 앨범 커버 뷰어 테스트
__ 보호 프록시 만들기
__ 객체마을 데이팅 서비스
__ Person 인터페이스 코드 만들기
__ Person 인터페이스용 동적 프록시 만들기
__ 1단계: InvocationHandler 만들기
__ 2단계: 동적 프록시 생성 코드 만들기
__ 데이팅 서비스 코드 테스트
__ 데이팅 서비스 코드 테스트 결과
__ 실전! 프록시 동물원 탐방하기
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답
__ 준비된 코드: 앨범 커버 뷰어 코드

12장 복합 패턴 | 패턴을 모아 패턴 만들기
__ 패턴 섞어 쓰기
__ 오리 시뮬레이션 게임에 다양한 패턴 적용하기
__ 바뀐 내용 되돌아보기
__ 오리 시뮬레이션 게임 클래스 다이어그램 살펴보기
__ 복합 패턴의 왕 알현하기
__ 모델-뷰-컨트롤러 알아보기
__ 모델-뷰-컨트롤러 조금 더 알아보기
__ 모델-뷰-컨트롤러에 사용되는 패턴 알아보기
__ 모델-뷰-컨트롤러로 BPM 제어 도구 만들기
__ 모델, 뷰, 컨트롤러 합쳐서 보기
__ 모델, 뷰, 컨트롤러 만들기
__ 모델 만들기
__ 뷰 알아보기
__ 뷰 만들기
__ 컨트롤러 만들기
__ 컨트롤러 코드 살펴보기
__ 모델, 뷰, 컨트롤러 코드 합치기
__ MVC 속 전략 패턴 자세히 알아보기
__ 심박 모니터 모델 적응시키기
__ 심박 모니터 컨트롤러 만들기
__ 심박 모니터 코드 테스트
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 연습문제 정답
__ 준비된 코드: BPM 제어 도구 코드

13장 실전 디자인 패턴 | 패턴과 행복하게 살아가기
__ 디자인 패턴의 정의
__ 디자인 패턴의 정의 자세히 살펴보기
__ 새로운 디자인 패턴 발견하기
__ 디자인 패턴 분류하기
__ 디자인 패턴 범주 알아보기
__ 패턴으로 생각하기
__ 패턴을 대하는 마음가짐
__ 전문 용어의 위력 되새기기
__ 4인방과 함께 하는 객체마을 여행
__ 패턴을 찾아 떠나기
__ 실전! 패턴 동물원 탐방하기
__ 사악한 안티 패턴 섬멸하기
__ 디자인 도구상자 안에 들어가야 할 도구들
__ 객체마을을 떠나며
__ 연습문제 정답

14장 기타 패턴 | 다양한 패턴 빠르게 알아보기
__ 브리지 패턴
__ 빌더 패턴
__ 책임 연쇄 패턴
__ 플라이웨이트 패턴
__ 인터프리터 패턴
__ 중재자 패턴
__ 메멘토 패턴
__ 프로토타입 패턴
__ 비지터 패턴

찾아보기

저자소개

버트 베이츠 (지은이)    정보 더보기
버트는 25년 이상의 경력을 가진 소프트웨어 개발자로, 2003년에 캐시와 함께 『헤드 퍼스트 자바』로 〈헤드 퍼스트〉 시리즈를 만들었습니다. 이후로 여러 권의 자바 서적을 저술하고, 썬 마이크로시스템즈와 오라클에서 다양한 자바 인증 시험에 자문으로 참여했습니다.
펼치기
에릭 프리먼 (지은이)    정보 더보기
월트 디즈니사의 디즈니 온라인과 Disney.com의 CTO를 역임했다. 현재 에릭은 엘리자베스와 공동 창업한 스타트업인 위키들리스마트(WickedlySmart)에 전념하고 있다. 에릭은 컴퓨터 과학자로서 예일대학교 박사과정에서 업계 선구자인 데이빗 겔런터와 함께 수학했다. 그의 박사학위 논문은 데스크탑 메타포어의 대안에 대한 근간을 이루고 있다고 인정받고 있으며 최초로 액티비티 스트림을 구현했다.
펼치기
엘리자베스 롭슨 (지은이)    정보 더보기
소프트웨어 엔지니어, 작가, 강사로 활동하고 있다. 예일대학교 학생 시절부터 기술 분야에 열광했으며, 동대학원에서 전산학 석사학위를 받고 병렬 비주얼 프로그래밍 언어와 소프트웨어 아키텍처를 설계했다. 엘리자베스는 일찍부터 인터넷에 관련된 일을 해왔으며, 입상에 빛나는 The Ada Project 웹 사이트를 공동으로 개발했다. 컴퓨터 과학을 전공한 여성들이 온라인에서 직업을 구하고 멘토링 정보를 구할 수 있도록 도와주는 사이트다.
펼치기

리뷰

책속에서




이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책