메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

쉽게 배워 바로 써먹는 디자인 패턴

24가지 패턴으로 알아보는 객체지향의 원리

한빛미디어

집필서

판매중

  • 저자 : 이호진
  • 출간 : 2020-10-05
  • 페이지 : 540 쪽
  • ISBN : 9791162243404
  • 물류코드 :10340
초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 6

객체지향 프로그래밍 설계 원칙, 패턴을 알면 개발이 보인다

 

디자인 패턴은 어느 날 갑자기 생겨난 방식이 아니다. 객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면 서로 비슷한 유형의 문제다. 개발자들은 서로 자신의 경험을 바탕으로 문제를 해결해나갔다. GoF는 객체지향 설계 시 발생하는 문제점을 목록화하여 24가지 패턴으로 정리한다.

 

이 책은 디자인 패턴의 개념과 동작 원리를 설명한다. 각 장을 24가지 패턴으로 구성하였으며 누구나 이해할 수 있는 쉬운 예제와 눈높이를 낮춘 설명은 디자인 패턴을 배우고 학습하는 데 유용하다. 객체지향을 이해하고 프레임워크를 학습하려는 개발자에게 유익한 가이드가 될 것이다.

 

 

이 책에서 다루는 내용

  • 쉬운 예제로 설명하는 24가지 디자인 패턴
  • 유지보수를 고려한 설계 방법론
  • 최고의 성능을 위한 개발 방법론

 

 

출판사 리뷰

 

객체지향 개념

이 책은 객체지향 디자인 패턴 카탈로그를 다룬다. 객체지향 개념과 설계 방법을 이해한다면 디자인 패턴을 학습하기가 훨씬 수월하다. 학습에 필요한 디자인 패턴의 기초 개념과 원리를 같이 설명한다.

 

디자인 패턴 카탈로그

패턴 카탈로그에서 꼭 필요한 부분을 선별해 우선적으로 학습할 수 있도록 구성했다. 패턴 각각의 독립적인 특성에 맞게 집필했으며, 패턴들을 쉽게 이해할 수 있도록 주요 내용을 반복 설명한다. 하지만 동일한 객체지향 개념이라도 패턴에서 의도하는 방법에 따라 다른 시각으로 바라볼 수 있으므로 찬찬히 읽어보기를 권한다.

 

학습 목적

특정 언어에 종속되지 않고 디자인 패턴의 개념과 동작 원리 위주로 학습할 수 있도록 구성했다. 디자인 패턴을 처음 접하는 독자도 쉽게 이해할 수 있도록 간단한 코드와 그림으로 설명한다. 객체지향 설명은 일반적인 도형을 이용해 더욱더 쉽게 이해할 수 있게 구성했다.

저자

이호진

전기전자를 전공하고 주로 마이크로프로세서, 하드웨어 설계, 펌웨어, 로봇 개발 등과 관련된 일을 했다. 또한 산업용 레이저 프린터, ARM, 언어 분석, 알고리즘 개발을 했다. 외국계 기업에서 리눅스 운영체제, 백업 및 서버 가상화 등 다양한 비즈니스 경험을 거쳐 최근에는 웹 및 모바일과 관련된 개발 활동을 하고 있다. 현재는 경험과 지식을 후배들에게 전달하기 위해 관련 내용을 정리하며 집필 활동에 전념하고 있다.

CHAPTER 0 디자인 패턴 

0.1 패턴

0.2 소프트웨어 공학

0.3 설계 원칙

0.4 GoF

0.5 패턴의 요소

0.6 유지 보수

0.7 정리

 

[PART 1 생성 패턴 - 추상화를 통해 객체 생성하기]


CHAPTER 1 팩토리 패턴 

1.1 클래스와 객체지향

1.2 의존성

1.3 의존성 주입

1.4 의존 관계의 문제점

1.5 팩토리 패턴

1.6 단순 팩토리

1.7 장점과 단점

1.8 관련 패턴

1.9 정리

 

CHAPTER 2 싱글턴 패턴 

2.1 객체 생성

2.2 유일한 객체

2.3 싱글턴

2.4 싱글턴 설계

2.5 인스턴스 생성

2.6 정적 클래스

2.7 싱글턴 확장

2.8 자원 처리

2.9 관련 패턴

2.10 정리

 

CHAPTER 3 팩토리 메서드 패턴 

3.1 추상화

3.2 패턴 확장

3.3 상위 클래스

3.4 하위 클래스

3.5 매개변수

3.6 관련 패턴

3.7 정리

 

CHAPTER 4 추상 팩토리 패턴 

4.1 팩토리 메서드

4.2 그룹

4.3 팩토리 그룹

4.4 공장 추가

4.5 부품 추가 실습

4.6 패턴 결합

4.7 장점과 단점

4.8 관련 패턴

4.9 정리

 

CHAPTER 5 빌더 패턴 

5.1 건축물

5.2 객체 실습

5.3 빌더

5.4 알고리즘

5.5 생성 요청

5.6 관련 패턴

5.7 정리

 

CHAPTER 6 프로토타입 패턴 

6.1 생성

6.2 복사

6.3 프로토타입 패턴

6.4 특징

6.5 관련 패턴

6.6 정리

 

[PART 2 구조 패턴 - 상속과 합성을 사용해 객체 확장하기]


CHAPTER 7 어댑터 패턴 

7.1 오래된 코드

7.2 잘못된 코드

7.3 어댑터

7.4 클래스 어댑터

7.5 객체 어댑터

7.6 설계

7.7 관련 패턴

7.8 정리

 

CHAPTER 8 브리지 패턴 

8.1 복잡한 코드

8.2 상속

8.3 패턴 설계 1

8.4 패턴 설계 2

8.5 장점과 단점

8.6 관련 패턴

8.7 정리

 

CHAPTER 9 복합체 패턴 

9.1 객체를 포함하는 객체

9.2 복합체의 구조적 특징

9.3 투명성을 활용한 동일한 설계

9.4 추상화를 통한 일반화 작업

9.5 Leaf

9.6 Composite

9.7 패턴 결합

9.8 적용 사례 1

9.9 적용 사례 2

9.10 적용 사례 3

9.11 장단점 및 결과

9.12 관련 패턴

9.13 정리

 

CHAPTER 10 장식자 패턴 

10.1 기능 추가

10.2 조건 추가

10.3 확장

10.4 객체에 추가 장식하기

10.5 기본 실습

10.6 장단점 및 결과

10.7 관련 패턴

10.8 정리

 

CHAPTER 11 파사드 패턴 

11.1 협업을 위한 분리 작업

11.2 파사드 패턴을 응용한 API

11.3 파사드를 이용한 단순화

11.4 최소 지식 원칙

11.5 기본 실습

11.6 파사드 패턴의 효과

11.7 관련 패턴

11.8 정리

 

CHAPTER 12 플라이웨이트 패턴 

12.1 메모리 자원

12.2 자원 공유

12.3 상태 구분

12.4 패턴 실습

12.5 관련 패턴

12.6 정리

 

CHAPTER 13 프록시 패턴 

13.1 객체를 대행하는 프록시

13.2 객체 가로채기

13.3 객체 분리

13.4 프록시 생성

13.5 행위를 처리하는 핸들러

13.6 동적 프록시

13.7 원격 프록시

13.8 가상 프록시

13.9 보호용 프록시

13.10 스마트 참조자

13.11 정리

 

[PART 3 행동 패턴 - 복합 구조로 객체의 책임 분산하기]


CHAPTER 14 반복자 패턴 

14.1 객체의 집합

14.2 배열

14.3 집합체

14.4 반복자

14.5 작업 분할

14.6 관련 패턴

14.7 정리

 

CHAPTER 15 명령 패턴 

15.1 명령 처리

15.2 명령 패턴의 구성과 특징

15.3 인터페이스

15.4 명령

15.5 리시버

15.6 인보커

15.7 클라이언트

15.8 undo

15.9 장단점

15.10 관련 패턴

15.11 정리

 

CHAPTER 16 방문자 패턴 

16.1 데이터 처리

16.2 분리

16.3 원소 객체

16.4 방문자

16.5 반복자

16.6 관련 패턴

16.7 정리

 

CHAPTER 17 체인 패턴 

17.1 제어문

17.2 동작조건

17.3 행동 분리

17.4 사슬 연결

17.5 체인 패턴

17.6 미들웨어

17.7 관련 패턴

17.8 정리

 

CHAPTER 18 감시자 패턴 

18.1 감시자

18.2 구성

18.3 관계

18.4 주체

18.5 감시자

18.6 동작 실습

18.7 활용

18.8 관련 패턴

18.9 정리

 

CHAPTER 19 중재자 패턴 

19.1 중재

19.2 중재자

19.3 동료 객체

19.4 기본 실습

19.5 관련 패턴

19.6 정리

 

CHAPTER 20 상태 패턴 

20.1 상태란

20.2 상태 처리

20.3 패턴 구현

20.4 객체 생성

20.5 상태 전환

20.6 실습

20.7 효과

20.8 패턴 유사성

20.9 적용 사례

20.10 정리

 

CHAPTER 21 메멘토 패턴 

21.1 상태 저장

21.2 캡슐화

21.3 메멘토

21.4 Originator 클래스

21.5 CareTaker 클래스

21.6 관련 패턴

21.7 정리

 

CHAPTER 22 템플릿 메서드 패턴 

22.1 프로그램의 구조

22.2 템플릿

22.3 일반화

22.4 추상화

22.5 템플릿 메서드

22.6 의존성 디자인

22.7 관련 패턴

22.8 정리

 

CHAPTER 23 전략 패턴 

23.1 문제

23.2 알고리즘

23.3 분리

23.4 인터페이스

23.5 전략

23.6 전략 실행

23.7 적용 사례

23.8 관련 패턴

23.9 정리

 

CHAPTER 24 인터프리터 패턴 

24.1 언어

24.2 언어 설계

24.3 처리계

24.4 중간 코드

24.5 해석

24.6 클래스 표현

24.7 관련 패턴

24.8 정리

  • 사실 디자인 패턴 책은 이전 회사에서 만난 개발자분이 자기 최애 책이라며 말씀해 주셔서 뭣도 모르지만 사서 갖고 있었던 (그땐 몰랐지만 사실상) 가이드북 같은 존재인 'GoF 디자인 패턴' 책이 나에겐 너무 어려워 계속 이어 읽지 못하던 와중 트위터에서 기계 인간님의 추천 리스트에 있었던 헤드퍼스트 디자인 패턴 ( 책도 한빛미디어네 ㅎㅎ..) 이렇게 이미 권을 갖고 있다. 그럼에도 신청하게 이유는 나에게 맞는 책을 찾아보고 싶은 마음.. ㅎㅎ

     

    책을 받아 펼쳤을 가장 놀랐던 점은.. 예시 코드가 PHP 작성되어 있다는 것이었다!!

    PHP 많이 쓰이는 언어임에도 불구하고.. 여기저기에서 얘는 언어도 아니다 등등 여러 곳에서 굉장히 홀대받는 언어 아닌가... 사실 내가 코어단까지 깊숙하게 알진 못해서 다른 부분에선 크게 느끼는 점일 있겠지만.. 현업에서 백엔드 언어로 PHP 쓰고 있는 입장에서 내가 느끼는 PHP 대한 인상은 여러모로 자유롭기에 잘하는 사람이 작성하면 한없이 코드가 가능하지만 그렇지 않으면 + 프레임워크라도 나를 강제해 주지 않으면 한없이 나를 방목(?) 해주는 언어라는 점이 단점이라면 단점이랄까 ㅎㅎ.. 책은 후자의 상태의 나를 전자로 이동시켜 있는 도우미 역할을 하는 책이라고 생각한다.

    쓸데없는 소리가 길어졌지만 일단 현업에서 PHP 사용하고 있는 입장에선 책에서 서술하는 내용을 훨씬 직관적으로 받아들일 있었다는 크나큰 장점이었다. 다른 언어를 전혀 모르는 것도 아니고 언어끼리 어느정도 일맥상통하는 부분이 있기에 다른 언어로 쓰인 책을 봐도 내용을 이해할 없는 아니지만 익숙한 문법을 통해 지식을 접하는 메리트가 전혀 달랐다. (하지만 이건 다른 의미로 PHP 사용하지 않는 사람의 경우에는 책을 선택하지 않을 이유도 있을 같다.)

    번째로 기존에 가지고 있던 책과 비교해서 좋았던 점은 패턴의 분류를 생성 패턴, 구조 패턴, 행동 패턴 가지 상위 체계부터 나눠간다는 점이다. 지금보다 초심자 시절 ㅇㅇ패턴, ㅁㅁ패턴 이렇게 나열식으로 구성되어 있던 책을 읽었을 '그래서.. 이걸 도대체 언제 쓰면 좋은 거지?' 같이 놓치고 갔던 부분을 책에선 서두에 카테고리로 나누고 시작하기 때문에 ' 파트에 속하는 패턴은 이럴 사용하는군!' 하며 상위 개념을

결재하기
• 문화비 소득공제 가능

배송료 안내

  • 책, 아이템 등 상품을 1만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
쉽게 배워 바로 써먹는 디자인 패턴
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
쉽게 배워 바로 써먹는 디자인 패턴
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
쉽게 배워 바로 써먹는 디자인 패턴
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실