서브메뉴

본문

파이썬 디자인 패턴 (디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기)
파이썬 디자인 패턴 (디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기)
저자 : 체탄 기리다
출판사 : 에이콘출판
출판년 : 2019
정가 : 15000, ISBN : 9791161752440

책소개


『파이썬 디자인 패턴 2/e』은 파이썬을 기반으로 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장. 안티 패턴
__안티 패턴 개요
__소프트웨어 개발 안티 패턴
____스파게티 코드
____황금 망치
____용암류
____복사-붙여넣기 또는 잘라내기-붙여넣기 프로그래밍
__소프트웨어 설계 안티 패턴
____시간 낭비
____제품/기술 종속
____다수 디자인
__정리