본문 바로가기

추천 검색어

실시간 인기 검색어

헤드 퍼스트 디자인 패턴

14가지 GoF 필살 패턴! | 유지 관리가 편리한 객체지향 소프트웨어를 만드는 법
한빛미디어 · 2022년 03월 16일
가장 최근에 출시된 개정판입니다. 구판보기
9.7
10점 중 9.7점
(46개의 리뷰)
도움돼요 (52%의 구매자)
  • 헤드 퍼스트 디자인 패턴 대표 이미지
    헤드 퍼스트 디자인 패턴 대표 이미지
  • A4
    사이즈 비교
    210x297
    헤드 퍼스트 디자인 패턴 사이즈 비교 204x245
    단위 : mm
01 / 02
MD의 선택 무료배송 이벤트 소득공제
10% 32,400 36,000
적립/혜택
1,800P

기본적립

5% 적립 1,800P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,800P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
당일배송 오늘(2/26,수) 도착
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

이 책의 이벤트

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

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

헤드 퍼스트 디자인 패턴 상세 이미지
유지관리가 편리한 객체지향 소프트웨어 만들기!
“『헤드 퍼스트 디자인 패턴(개정판)』 한 권이면 충분합니다!”
이유 1. 흥미로운 이야기와 재치 넘치는 구성이 담긴 〈헤드 퍼스트〉 시리즈!
하나의 패턴에 하나의 이야기를 담았습니다. 틀에 박히지 않아 지루할 틈이 없는 구성과 친구와 이야기하듯 편안한 대화체로 이야기를 풀어냅니다. 이야기 속에 다양한 방법으로 해결할 수 있는 질문과 90개 이상의 연습문제를 담았습니다. 마치 게임 퀘스트를 해결하듯 문제를 하나하나 해결하다 보면 학습한 내용이 머릿속에 강렬하게 남습니다.

이유 2. 원스톱으로 배우는 14가지 GoF 핵심 디자인 패턴과 9가지 객체지향 디자인 원칙!
현장에서 자주 사용되는 옵저버, 어댑터, MVC 패턴 등 14가지 GoF 객체지향 패턴을 중점으로 패턴의 정의, 사용 시기, 사용처, 사용 이유, 즉시 디자인에 적용하는 방법을 알려줍니다. 이와 더불어 객체지향 프로그래밍에 광범위하게 적용할 수 있는 OCP, 할리우드 원칙 등 9가지 객체지향 디자인 원칙과 패턴으로 생각하는 방법도 알려줍니다.

이유 3. 시대의 변화에 맞춘 개정과 한국 독자만을 위한 특별판!
자바 8과 자바 16 이상에서 무리 없이 동작할 수 있도록 예제 코드를 수정했으며, 부가적인 설명과 Q&A 질문을 추가했습니다. 또한 16여 년 만의 개정을 기념해 오직 한국 독자만을 위한 새로운 삽화를 사용하고 한글 친화적인 구성했습니다. 원서를 읽을 때보다 더욱 편안하게 디자인 패턴을 학습할 수 있습니다.

▶ 이 책을 읽어야 하는 당신!
● 소프트웨어 출시는 완벽 그 자체! “어?~ 코드 수정하려고 다시 보니까 난리…”
→ 유지보수만 생각하면 그저 눈물인 주니어 (자바) 개발자

● 코딩 실력은 장판파의 장비! “어?~ 팩토리 메소드 패턴을 이렇게 적용했던가?”
→ 디자인 패턴을 다시 한번 살펴보고 싶은 시니어 (자바) 개발자

● 혼자 공부해서 다진 프로그래밍 언어 실력! “어?~ 근데 패턴이 뭐야?”
→ 개발 현장의 소프트웨어 디자인 방법이 궁금한 개발자 지망생

작가정보

저자(글) 에릭 프리먼

(Eric Freeman)
예일대학교 컴퓨터공학 박사 학위를 받고 월트 디즈니에서 CTO로 활동했다. 오라일리 미디어에서 〈헤드 퍼스트〉 시리즈를 총괄하며 『헤드 퍼스트 디자인 패턴』 등 다양한 도서를 집필했다. 현재는 개발자를 대상으로 온라인 학습을 제공하는 WickedlySmart에서 학습 콘텐츠를 제작하고 있다.

저자(글) 엘리자베스 롭슨

(Elisabeth Robson)
예일대학교 컴퓨터공학 석사 학위를 받고 다양한 기술 주제로 개인별 워크숍과 온라인 수업을 제작했으며, 사람들이 기술을 이해하는 데 도움이 될 만한 학습 경험을 만드는 일에 몰두했다. 오라일리 미디어에서 특수 프로젝트 책임자로 활동했으며, 현재는 WickedlySmart의 공동 창업자로 다양한 학습 콘텐츠를 제작하고 있다.

저자(글) 케이시 시에라

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

저자(글) 버트 베이츠

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

번역 서환수

서울대학교 물리학과에서 학사, 박사 학위를 받았고 지금은 삼성종합기술원에서 반도체 분야를 연구하고 있다. 한빛미디어에서 『Head First Java』, 『Programming Challenges: 알고리즘 트레이닝 북』, 『프로그래머로 사는 법』, 『슬라이드올로지』를 비롯해 여러 권을 번역했다.

목차

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

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

    찾아보기

출판사 서평

경력과 세대를 넘어 오랫동안
객체지향 개발자의 성장을 도와준
디자인 패턴 교과서의 화려한 귀환!

》 2005년부터 디자인 패턴 도서 분야 부동의 1위
》 디자인 패턴의 고전이자 바이블

● 디자인 패턴은 선배들의 경험이 담긴 문제 해결 방법입니다
예로부터 건물을 지을 때는 사전 설계가 중요했습니다. 어떤 문제나 수정 사항이 발생했을 때, 하나하나 시행착오를 겪으면서 다시 짓기에는 시간과 비용이 많이 들기 때문입니다. 사람들은 같은 실수를 반복하지 않기 위해 자신들의 시행착오를 바탕으로 특정 상황에서 발생하는 문제의 패턴을 발견하고 해결방안을 기록으로 남겼습니다. 이를 ‘디자인 패턴’이라고 부릅니다.

건축학에서 시작된 디자인 패턴은 코드로 소프트웨어를 구축한다는 점에서 소프트웨어 설계에도 동일하게 적용할 수 있습니다. 누군가‘가’ 겪은 문제가 누군가‘만’ 겪은 문제는 아니므로 동일한 문제를 먼저 경험한 선배들의 지식을 활용한다면 소프트웨어 설계의 효율을 추구할 수 있습니다.

● 디자인 패턴은 시간과 노력을 줄여 줍니다
세상에 완벽한 소프트웨어는 없습니다. 시대에 따라 기술과 사용자의 요구가 변하기 때문입니다. 프로그래밍을 할 때 항상 ‘지금 이 소프트웨어를 언젠가는 고쳐야 한다’라고 생각해야 합니다. 사전에 소프트웨어를 고칠 때 코드에 미치는 영향을 최소화할 수 있도록 디자인한다면 자질구레한 코딩에서 벗어나 더 좋은 소프트웨어를 만드는 데 더 많은 시간을 투자할 수 있습니다.

디자인 패턴의 유용성은 단지 선배들의 코드를 ‘재사용’하는 것에 그치지 않습니다. 팀을 이끌며 프로젝트를 진행하고 다양한 형태로 발생할 수 있는 문제를 해결하는 데도 적용할 수 있습니다. ‘디자인 패턴’에 관한 조예가 깊다면 적재적소에 맞는 해결책을 효율적으로 제시할 수 있으며, “자신에게 귀를 기울이고 있는 모든 객체를 추적할 수 있고, 새로운 데이터가 들어올 때마다 각각의 청취자한테 메시지를 보내 주며, 청취자는 언제든지 청취자 목록에 참가하거나 탈퇴할 수 있는 방송용 클래스라는 걸 만들어서 이 문제를 해결하자!”라고 길게 설명할 필요 없이 “옵저버 패턴을 쓰자!"라는 한 문장으로 효율적인 의사소통을 할 수 있습니다.

● 디자인 패턴은 용도에 맞게 적절하게 사용해야 하는 도구입니다
하지만 디자인 패턴이 만병통치약은 아닙니다. 빈대를 잡으려고 초가삼간을 다 태우면 안되는 것처럼 패턴을 아무 코드에나 적용해서는 안 됩니다. 〈Hello, World!〉 같은 프로그램에까지 패턴을 적용하면 오히려 코드가 복잡해지고, 남들이 알아보기 힘들어지고, 유지보수가 어려워져 결국 파국에 이르기 때문입니다. 디자인 패턴은 좋은 소프트웨어를 만드는 도구일 뿐입니다. 모든 도구는 용도에 맞게 적절하게 사용할 때 그 위력을 발휘합니다.

사실 어떤 코드에 디자인 패턴을 써야 하는지 배우려면 많은 시간과 노력이 필요합니다. 디자인 패턴을 완전히 이해해야만 어떤 코드가 스파게티 코드인지 알 수 있기 때문입니다. 하지만 디자인 패턴의 핵심 요소만 쏙 뽑아서 알려주고, 재미있게 설명해 주는 책이 있다면 어떨까요? 적은 시간과 노력으로 디자인 패턴을 배울 수 있어서 행복하지 않을까요? 그런 책을 멀리서 찾을 필요는 없습니다. 『헤드 퍼스트 디자인 패턴(개정판)』이 바로 여기 있으니까요.

▶ 『헤드 퍼스트 디자인 패턴(개정판)』에서 다루는 내용
『헤드 퍼스트 디자인 패턴』은 2005년 출간 후 17년이라는 시간 동안 디자인 패턴 분야에서 부동의 베스트셀러 1위를 지켜왔습니다. 경력과 세대를 넘어 많은 개발자에게 사랑받는 이유는 다음과 같이 ‘GoF 디자인 패턴의 핵심’만을 다루는 데 있습니다.

》 14가지 GoF 핵심 패턴의 사용 시기와 이유!
》 즉시 디자인에 적용하는 방법!
》 쓰지 말아야 하는 상황!
》 패턴의 근간이 되는 객체지향 디자인 원칙!
》 그 밖에 알아 두면 좋은 9가지 패턴의 정의와 사용법!

▶ 『헤드 퍼스트 디자인 패턴(개정판)』에서 달라진 점
》 보편적으로 사용하는 자바 8부터 최신 버전인 자바 16 이상에서 무리 없이 동작할 수 있게 예제 코드 수정
》 부가 설명과 Q&A 질문 추가
》 한국 독자만을 위한 새로운 삽화와 한글 친화적인 구성

* 16여 년 만의 개정을 기념해 초판보다 편안하게 디자인 패턴을 학습할 수 있도록 새로운 한국어판을 만들었습니다.

▶〈헤드 퍼스트〉 시리즈의 특징
그리고 디자인 패턴을 지루하지 않은 방법으로 배우는 것도 정말 중요합니다. 〈헤드 퍼스트〉 시리즈를 한 권이라도 읽어 보았다면 이 책이 어떤 책인지 쉽게 짐작할 수 있을 겁니다. ‘볼 거리가 많고, 머릿속에 쏙쏙 들어오는 방식’으로 구성되어 있어 머리가 먼저 반응합니다.

》 친구와 이야기하는 듯한 편안한 대화체!
》 예상하기 어려운 재치 넘치는 구성!
》 90개가 넘는 도전적인 연습문제!
》 여러 관점에서 생각해 볼 수 있는 흥미로운 이야기!
》 빠르게 따라해 볼 수 있는 간단한 예제 코드!

이 밖에 패턴 중독을 피하는 방법과 디자인 패턴을 발견하는 방법도 다루고 있어 미래의 패턴 디자이너에게도 도움이 될 것입니다.

▶ 예제 파일 다운로드
→ https://www.hanbit.co.kr/src/10526
→ https://wickedlysmart.com/head-first-design-patterns

▶ 관련 도서
● 『이것이 자바다』(한빛미디어, 2015)
● 『혼자 공부하는 자바』(한빛미디어, 2019)
● 『이것이 C#이다』(한빛미디어, 2021)
● 『쉽게 배워 바로 써먹는 디자인 패턴』(한빛미디어, 2020)
● 『머신러닝 디자인 패턴』(한빛미디어, 2021)

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791162245262
발행(출시)일자 2022년 03월 16일
쪽수 656쪽
크기
204 * 245 * 32 mm / 1351 g
총권수 1권
원서(번역서)명/저자명 Head First Design Patterns/Eric Freeman

Klover 리뷰 (46)

구매 후 리뷰 작성 시, e교환권 200원 적립

사용자 총점

10점 중 9.7점
10점 중 10점
90%
10점 중 7.5점
10%
10점 중 5점
0%
10점 중 2.5점
0%

52%의 구매자가
도움돼요 라고 응답했어요

32%

집중돼요

52%

도움돼요

3%

쉬웠어요

3%

최고예요

10%

추천해요

10점 중 10점
/추천해요
책이 어렵지 않고 이해하기 쉽게 되어 있어요
10점 중 10점
/도움돼요
쉽고 재미있게 디자인 패턴을 공부할 수 있습니다.
10점 중 10점
/도움돼요
요점을 정확하게 설명해주셔서 감명받았습니다
리뷰 썸네일
10점 중 10점
/도움돼요
가볍게 보기 좋습니다
10점 중 10점
/최고예요
디자인 패턴을 공부하려고 구매했습니다.
10점 중 10점
/도움돼요
어렵긴 했지만 도움이 많이 되었습니다
10점 중 10점
/도움돼요
읽기 편한 대화체로 구성된 책이라 술술 읽기만 해도 개념이 잘 들어오는 편이에요.
10점 중 10점
/쉬웠어요
꽤 친절한 책입니다. 스타일이 특이하긴 하지만, 학습하는 데는 크게 상관없어 보입니다.
10점 중 10점
/집중돼요
헤드퍼스트 너무 유명해서 구매 했습니다

자바 개잘자 필독서.
근데 OOP 할꺼면 누구나 필독서
10점 중 10점
/집중돼요
디자인패턴 학습에 집중하여 공부할 수 있었습니다.

문장수집 (5)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

상황에 따라 적절한 도구를 사용하는 것은 중요한 능력이다
헤드 퍼스트 디자인 패턴
유지관리가 편리한 객체지향 소프트웨어 만들기! “『헤드 퍼스트 디자인 패턴(개정판)』 한 권이면 충분합니다!”
헤드 퍼스트 디자인 패턴

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

    변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
  • 반품/교환비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 반품/교환 불가 사유

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
  • 소비자 피해보상 환불 지연에 따른 배상

    1) 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

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

소스 코드: 더 비기닝
이벤트
  • sam x 한샘 [똑똑한sam]
  • 2025 1학기 대학교재전
01 / 02
TOP