쉽게 배워 바로 써먹는 디자인 패턴
- 저자<이호진> 저
- 출판사한빛미디어
- 출판일2020-10-19
- 등록일2020-12-29
보유 1, 대출 0,
예약 0, 누적대출 28, 누적예약 2
책소개
객체지향 프로그래밍 설계 원칙, 패턴을 알면 개발이 보인다디자인 패턴은 어느 날 갑자기 생겨난 방식이 아니다. 객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면 서로 비슷한 유형의 문제다. 개발자들은 서로 자신의 경험을 바탕으로 문제를 해결해나갔다. GoF는 객체지향 설계 시 발생하는 문제점을 목록화하여 24가지 패턴으로 정리한다.디자인 패턴의 개념과 동작 원리를 설명한다. 각 장을 24가지 패턴으로 구성하였으며 누구나 이해할 수 있는 쉬운 예제와 눈높이를 낮춘 설명은 디자인 패턴을 배우고 학습하는 데 유용하다. 객체지향을 이해하고 프레임워크를 학습하려는 개발자에게 유익한 가이드가 될 것이다
저자소개
전기전자를 전공하고 마이크로프로세서, 하드웨어 설계 및 Firmware, 로봇 개발 등을 주로 하였습니다. 또한 산업용 레이저 프린터, ARM, 언어분석, 알고리즘 개발을 하였습니다. 외국계 기업에서 Linux 운영체제, 백업 및 서버 가상화 등 다양한 비즈니스 경험을 거쳐 최근에는 웹 및 모바일과 관련한 개발 활동을 하고 있습니다. 현재는 경험과 지식을 정리하고 후배들에게 전달하기 위해서 집필 활동에 전념하고 있습니다.
목차
CHAPTER 0 디자인 패턴 0.1 패턴0.2 소프트웨어 공학0.3 설계 원칙0.4 GoF0.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 패턴 설계 18.4 패턴 설계 28.5 장점과 단점8.6 관련 패턴8.7 정리CHAPTER 9 복합체 패턴 9.1 객체를 포함하는 객체9.2 복합체의 구조적 특징9.3 투명성을 활용한 동일한 설계9.4 추상화를 통한 일반화 작업9.5 Leaf9.6 Composite9.7 패턴 결합9.8 적용 사례 19.9 적용 사례 29.10 적용 사례 39.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 파사드 패턴을 응용한 API11.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 undo15.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 정리