파이썬 디자인 패턴 (디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기 | 2 판)

파이썬 디자인 패턴 (디자인 패턴을 사용해 소프트웨어 설계 문제 해결하기 | 2 판)

$15.98
Description
소프트웨어의 유지보수와 확장성을 생각한다면 설계 단계에서 디자인 패턴은 최선의 해결책이다. 이 책에서는 파이썬을 기반으로 GoF가 처음 제시한 대표적인 디자인 패턴을 설명한다. 현업에서 실제로 사용되는 다양한 예제를 보면서 목적에 적합한 디자인 패턴을 선택하고 이를 기반으로 파이썬 코드를 작성해본다. 이 책에서 설명하는 객체지향의 기본 원리 및 중요 프로그래밍 원칙은 소프트웨어 설계에 매우 유용할 것이다. 디자인 패턴을 기반으로 한 최적화된 소프트웨어 설계는 프로그래밍에서는 빠질 수 없는 필수 요소다.
저자

체탄기리다

테크니컬리더이며오픈소스지지자이고파이썬개발자다.「LinuxforYou」와「AgileRecord」등의잡지에기술과개발방법론에대해다양한글을기고했고「PythonPapers」저널에다수의논문을발표했다.PyconInida,아시아태평양,뉴질랜드등의PyCon컨퍼런스에서강연을했고실시간통신과분산시스템,클라우드애플리케이션에관심이많다.팩트출판사의감수자며IPythonVisualization과CorePython에관한책을감수했다.

목차

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장,‘안티패턴’은소프트웨어아키텍트또는개발자로서해서는안될행동을설명하는안티패턴을소개한다.