상품 정보
상품 기본설명
디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기
상품 상세설명
소프트웨어의 유지보수와 확장성을 생각한다면 설계 단계에서 디자인 패턴은 최선의 해결책이다. 이 책에서는 파이썬을 기반으로 GoF가 처음 제시한 대표적인 디자인 패턴을 설명한다. 현업에서 실제로 사용되는 다양한 예제를 보면서 목적에 적합한 디자인 패턴을 선택하고 이를 기반으로 파이썬 코드를 작성해본다. 이 책에서 설명하는 객체지향의 기본 원리 및 중요 프로그래밍 원칙은 소프트웨어 설계에 매우 유용할 것이다. 디자인 패턴을 기반으로 한 최적화된 소프트웨어 설계는 프로그래밍에서는 빠질 수 없는 필수 요소다.
목차
1장. 디자인 패턴 개요
__객체지향 프로그래밍
____객체
____클래스
____메소드
__객체지향 프로그래밍의 주요 기능
____캡슐화
____다형성
____상속
____추상화
____컴포지션
__객체지향 디자인의 기본 원칙
____개방-폐쇄 원칙
____제어 반전 원칙
____인터페이스 분리 원칙
____단일 책임 원칙
____치환 원칙
__디자인 패턴의 개념
____디자인 패턴의 장점
____디자인 패턴 용어
____디자인 패턴 맥락
__동적 언어 패턴
__디자인 패턴의 분류
____생성 패턴
____구조 패턴
____행위 패턴
__정리
2장. 싱글톤 디자인 패턴
__싱글톤 디자인 패턴 개요
____파이썬 싱글톤 패턴 구현
__게으른 초기화
__모듈 싱글톤
__모노스테이트 싱글톤 패턴
__싱글톤과 메타클래스
__싱글톤 패턴 사용 사례 1
__싱글톤 패턴 사용 사례 2
__싱글톤 패턴의 단점
__정리
3장. 팩토리 패턴 - 팩토리를 사용해 객체 생성하기
__팩토리 패턴 개요
__심플 팩토리 패턴
__팩토리 메소드 패턴
____팩토리 메소드 구현
____팩토리 메소드 패턴의 장점
__추상 팩토리 패턴
____추상 팩토리 패턴 구현
__팩토리 메소드 vs 추상 팩토리 메소드
__정리
4장. 퍼사드의 다양성
__구조 디자인 패턴 개요
__퍼사드 디자인 패턴 개요
__UML 클래스 다이어그램
____퍼사드
____시스템
____클라이언트
__퍼사드 패턴 구현
__최소 지식 원칙
__자주 묻는 질문들
__정리
5장. 프록시 패턴 - 객체 접근 제어
__프록시 디자인 패턴의 개요
__프록시 패턴의 UML 다이어그램
__프록시의 여러 유형들
____가상 프록시
____원격 프록시
____보호 프록시
____스마트 프록시
__프록시 패턴의 사용 사례
__프록시 패턴의 장점
__퍼사드와 프록시 패턴 비교
__자주 묻는 질문들
__정리
6장. 옵서버 패턴 - 객체 이해하기
__행위 패턴 개요
__옵서버 패턴 이해
____UML 다이어그램
__옵서버 패턴 사용 사례
__옵서버 패턴 메소드
____풀 모델
____푸시 모델
__느슨한 결합과 옵서버 패턴
__옵서버 패턴의 장단점
__자주 묻는 질문들
__정리
7장. 커맨드 패턴 - 요청 패턴화
__커맨드 디자인 패턴
__커맨드 패턴 구성 요소
____커맨드 패턴의 UML 다이어그램
__커맨드 패턴 실제 활용 사례
____클래스 설계
__커맨드 패턴의 장단점
__자주 묻는 질문들
__정리
8장. 템플릿 메소드 패턴 - 알고리즘의 캡슐화
__템플릿 메소드 패턴 개요
____템플릿 메소드 패턴 이해
____템플릿 메소드 패턴의 UML 다이어그램
__템플릿 메소드 패턴 사용 사례
__템플릿 메소드 패턴 - 후크
__할리우드 원칙과 탬플릿 메소드
__템플릿 메소드 패턴의 장단점
__자주 묻는 질문들
__정리
9장. 모델 - 뷰 컨트롤러 - 컴파운드 패턴
__컴파운드 패턴 개요
__모델-뷰-컨트롤러 패턴
____모델 - 애플리케이션의 뇌
____뷰 - 외모
____컨트롤러 - 접착제
__MVC 패턴의 UML 다이어그램
__MVC 패턴 사용 사례
____모듈
__MVC 패턴의 장점
__자주 묻는 질문들
__정리
10장. 상태 디자인 패턴
__상태 디자인 패턴 개요
____상태 디자인 패턴 이해
____상태 디자인 패턴의 UML 다이어그램
__상태 디자인 패턴 예제
____파이썬 3.5로 구현한 상태 디자인 패턴
__상태 디자인 패턴의 장단점
__정리
11장. 안티 패턴
__안티 패턴 개요
__소프트웨어 개발 안티 패턴
____스파게티 코드
____황금 망치
____용암류
____복사-붙여넣기 또는 잘라내기-붙여넣기 프로그래밍
__소프트웨어 설계 안티 패턴
____시간 낭비
____제품/기술 종속
____다수 디자인
__정리
출판사 서평
★ 이 책에서 다루는 내용 ★■ 소프트웨어 설계 능력 향상
■ 흔히 발생하는 설계 문제의 해결책 제시
■ 소프트웨어 설계의 기초 개념인 느슨한 조합과 할리우드 원리, 개방-폐쇄 원칙 소개
■ 객체지향 프로그래밍의 이해 및 적용
■ 생성 디자인 패턴과 다양한 생성자를 적용한 문제 해결
■ 더 큰 애플리케이션 개발을 위해 구조 디자인 패턴과 객체와 클래스 간 상호작용 이해
■ 커맨드 패턴과 옵서버 패턴으로 객체 간의 상호작용 제어
■ 파이썬 디자인 패턴으로 애플리케이션의 생산성 향상 및 코드 구조 개선★ 이 책의 대상 독자 ★디자인 패턴의 원칙과 파이썬 애플리케이션 개발에 관심을 갖는 파이썬 개발자나 소프트웨어 아키텍트를 위한 책이다. 기초적인 프로그래밍 원리에 대한 이해와 초급자 수준의 파이썬 개발 능력을 요구한다. 학생과 교육자에게도 유용할 것이다.★ 이 책의 구성 ★1장, ‘디자인 패턴 개요’에서는 객체지향 프로그래밍의 개념과 원칙을 살펴본다. 디자인 패턴이 소프트웨어 개발에서 언제 어떻게 사용되는지 알 수 있도록 디자인 패턴의 개념도 학습한다.
2장, ‘싱글톤 디자인 패턴’은 가장 기본적이고 널리 쓰이는 생성 패턴의 한 종류다. 파이썬으로 싱글톤 패턴을 구현하는 몇 가지 예제를 소개하고 싱글톤 디자인 패턴의 변형인 모노스테이트 (또는 Borg) 디자인 패턴도 알아본다.
3장, ‘팩토리 패턴 - 팩토리를 사용해 객체 생성하기’에서는 또 다른 생성 패턴인 팩토리 패턴을 소개한다. 그리고 팩토리 메소드 패턴과 추상 팩토리 패턴을 UML 다이어그램과 파이썬 3.5로 구현한 실제 사용 예제를 통해 학습한다.
4장, ‘퍼사드의 다양성’에서는 구조 디자인 패턴을 소개한다. 퍼사드가 무엇이고 퍼사드 디자인 패턴이 소프트웨어 설계에서 어떻게 사용되는지 알아본다. 파이썬으로 실제 사용 예제를 구현해 볼 것이다.
5장, ‘프록시 패턴 - 객체 접근 제어 구조’에서는 객체 접근 제어 구조는 디자인 패턴의 한 종류인 프록시 패턴을 다룬다. 프록시의 개념과 프록시 디자인 패턴이 소프트웨어 설계에서 어떻게 사용되는지 살펴본다. 프록시 패턴의 변형인 가상 프록시와 스마트 프록시, 원격 프록시, 보호 프록시를 소개한다.
6장, ‘옵서버 패턴 - 객체 이해하기’에서는 세 번째 디자인 패턴 분류인 행위 디자인 패턴을 학습한다. 예제와 함께 옵서버 디자인 패턴을 학습하고 푸시-풀 모델과 느슨한 결합 원칙을 소개한다. 나아가 옵서버 패턴이 클라우드 및 분산 시스템에서 어떻게 사용될 수 있는지 알아본다.
7장, ‘커맨드 패턴 - 요청 패턴화’에서는 커맨드 디자인 패턴을 소개한다. 커맨드 디자인 패턴이 실제로 어떤 상황에서 사용되는지 알아보고 파이썬으로 구현해본다. 나아가 리두/롤백 기능과 비동기 작업 수행을 어떻게 커맨드 패턴으로 구현할 수 있을지 알아본다.
8장, ‘템플릿 메소드 패턴 - 알고리즘의 캡슐화’에서는 템플릿 메소드 패턴을 소개한다. 커맨드 패턴과 마찬가지로 템플릿 메소드 패턴은 행위 패턴의 한 종류다. 템플릿 메소드 패턴에서 후크가 사용되는 예제를 살펴보고 할리우드 원칙을 소개한다.
9장, ‘모델-뷰-컨트롤러 - 컴파운드 패턴’에서는 컴파운드 패턴을 다룬다. 모델-뷰-컨트롤러 디자인 패턴이 언제 어떻게 사용되는지 알아본다. MVC 패턴은 가장 널리 쓰이는 패턴이며 많은 파이썬 프레임워크가 이를 기반으로 한다. 토네이도(페이스북에서 사용하는 프레임워크)로 구현한 애플리케이션 예제를 작성하고 MVC 패턴을 학습해본다.
10장, ‘상태 디자인 패턴’에서는 커맨드 디자인 패턴과 템플릿 디자인 패턴과 같은 행위 패턴인 상태 디자인 패턴을 소개한다. 이 패턴이 소프트웨어 설계에서 어 떻게 사용되는지 알아본다.
11장, ‘안티 패턴’은 소프트웨어 아키텍트 또는 개발자로서 해서는 안될 행동을 설명하는 안티 패턴을 소개한다.
상품 정보 고시
도서명 |
파이썬 디자인 패턴 2/e |
저자 |
체탄 기리다 |
출판사 |
에이콘출판 |
ISBN |
9791161752440 (1161752447) |
쪽수 |
184 |
출간일 |
2018-11-30 |
사이즈 |
189 * 236 * 14 mm /449g |
목차 또는 책소개 |
1장. 디자인 패턴 개요 __객체지향 프로그래밍 ____객체 ____클래스 ____메소드 __객체지향 프로그래밍의 주요 기능 ____캡슐화 ____다형성 ____상속 ____추상화 ____컴포지션 __객체지향 디자인의 기본 원칙 ____개방-폐쇄 원칙 ____제어 반전 원칙 ____인터페이스 분리 원칙 ____단일 책임 원칙 ____치환 원칙 __디자인 패턴의 개념 ____디자인 패턴의 장점 ____디자인 패턴 용어 ____디자인 패턴 맥락 __동적 언어 패턴 __디자인 패턴의 분류 ____생성 패턴 ____구조 패턴 ____행위 패턴 __정리
2장. 싱글톤 디자인 패턴 __싱글톤 디자인 패턴 개요 ____파이썬 싱글톤 패턴 구현 __게으른 초기화 __모듈 싱글톤 __모노스테이트 싱글톤 패턴 __싱글톤과 메타클래스 __싱글톤 패턴 사용 사례 1 __싱글톤 패턴 사용 사례 2 __싱글톤 패턴의 단점 __정리
3장. 팩토리 패턴 - 팩토리를 사용해 객체 생성하기 __팩토리 패턴 개요 __심플 팩토리 패턴 __팩토리 메소드 패턴 ____팩토리 메소드 구현 ____팩토리 메소드 패턴의 장점 __추상 팩토리 패턴 ____추상 팩토리 패턴 구현 __팩토리 메소드 vs 추상 팩토리 메소드 __정리
4장. 퍼사드의 다양성 __구조 디자인 패턴 개요 __퍼사드 디자인 패턴 개요 __UML 클래스 다이어그램 ____퍼사드 ____시스템 ____클라이언트 __퍼사드 패턴 구현 __최소 지식 원칙 __자주 묻는 질문들 __정리
5장. 프록시 패턴 - 객체 접근 제어 __프록시 디자인 패턴의 개요 __프록시 패턴의 UML 다이어그램 __프록시의 여러 유형들 ____가상 프록시 ____원격 프록시 ____보호 프록시 ____스마트 프록시 __프록시 패턴의 사용 사례 __프록시 패턴의 장점 __퍼사드와 프록시 패턴 비교 __자주 묻는 질문들 __정리
6장. 옵서버 패턴 - 객체 이해하기 __행위 패턴 개요 __옵서버 패턴 이해 ____UML 다이어그램 __옵서버 패턴 사용 사례 __옵서버 패턴 메소드 ____풀 모델 ____푸시 모델 __느슨한 결합과 옵서버 패턴 __옵서버 패턴의 장단점 __자주 묻는 질문들 __정리
7장. 커맨드 패턴 - 요청 패턴화 __커맨드 디자인 패턴 __커맨드 패턴 구성 요소 ____커맨드 패턴의 UML 다이어그램 __커맨드 패턴 실제 활용 사례 ____클래스 설계 __커맨드 패턴의 장단점 __자주 묻는 질문들 __정리
8장. 템플릿 메소드 패턴 - 알고리즘의 캡슐화 __템플릿 메소드 패턴 개요 ____템플릿 메소드 패턴 이해 ____템플릿 메소드 패턴의 UML 다이어그램 __템플릿 메소드 패턴 사용 사례 __템플릿 메소드 패턴 - 후크 __할리우드 원칙과 탬플릿 메소드 __템플릿 메소드 패턴의 장단점 __자주 묻는 질문들 __정리
9장. 모델 - 뷰 컨트롤러 - 컴파운드 패턴 __컴파운드 패턴 개요 __모델-뷰-컨트롤러 패턴 ____모델 - 애플리케이션의 뇌 ____뷰 - 외모 ____컨트롤러 - 접착제 __MVC 패턴의 UML 다이어그램 __MVC 패턴 사용 사례 ____모듈 __MVC 패턴의 장점 __자주 묻는 질문들 __정리
10장. 상태 디자인 패턴 __상태 디자인 패턴 개요 ____상태 디자인 패턴 이해 ____상태 디자인 패턴의 UML 다이어그램 __상태 디자인 패턴 예제 ____파이썬 3.5로 구현한 상태 디자인 패턴 __상태 디자인 패턴의 장단점 __정리
11장. 안티 패턴 __안티 패턴 개요 __소프트웨어 개발 안티 패턴 ____스파게티 코드 ____황금 망치 ____용암류 ____복사-붙여넣기 또는 잘라내기-붙여넣기 프로그래밍 __소프트웨어 설계 안티 패턴 ____시간 낭비 ____제품/기술 종속 ____다수 디자인 __정리 |
교환/반품
[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.
[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21
[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.