상단으로 이동
상단으로 이동
회원리뷰[0)]

분철무료 / 모던 C++ 디자인 패턴

저자 | 드미트리 네스터룩 출판사 | 길벗
ISBN : 9791160507676   |  발행일 : 2019-04-30  |  360
  • 정가 25,000원
    판매가 22,500 (10% 할인)
  • 적립포인트 1,250 적립 [5% 적립]
  • 무이자할부 1월 무이자 할부
    배송비 무료배송 (20,000원 이상 구매시 배송비 무료)
  • 스프링분철
IT/베스트셀러 > 컴퓨터/IT도서


도서소개

모던 C++로 배우는 디자인 패턴

새로운 기능으로 풍부해진 C++로 다시 배운다
C++는 C++11/14/17을 거치면서 강력한 언어로 발전했으며, 표현력이 풍부해졌다. GoF의 전통적인 디자인 패턴을 표현력이 풍부해진 모던 C++로 새롭게 학습한다. 또한, 모던 C++을 디자인 패턴에 활용하는 방법을 통해 모던 C++을 응용하는 방법도 학습할 수 있다.

객체 지향 소프트웨어 디자인을 학습한다
GoF의 디자인 패턴은 기본! 객체 지향 소프트웨어의 디자인 원칙은 SOLID 원칙, CRTP 패턴, Mixin 상속, 모나드 패턴을 학습하면서 객체 지향 소프트웨어 디자인의 기본을 학습한다.

점진적인 설계로 패턴의 장단점을 살핀다
패턴의 구현을 단순히 나열하지 않았다. 각 패턴을 간단하게 구현해보고 기술적 복잡도에 따라 패턴을 발전시켜가면서 각 복잡도 단계에 따라 발생하는 장단점을 면밀하게 설명했다.

[CONTENTS]
SOLID 디자인 원칙
생성 패턴
구조 패턴
행태 패턴
함수형 디자인 패턴

[예제 코드]
o 길벗 깃허브 저장소: https://github.com/gilbutITbook/007028
o 원서 소스 코드: https://github.com/Apress/design-patterns-in-modern-cpp

[베타테스터 실습 후기]
읽는 동안 C++ 코드와 본문을 자주 넘나들며 읽었습니다. 패턴이 가져오는 코드의 만듦새를 강조하기보다 코드의 의미를 풀어쓰면서 C++ 언어로의 진입장벽을 낮추고자 했던 것 같습니다.
분량이나 다루어야 하는 범위로 인해 문턱을 없애지는 못했지만, C++ 입문 서적 한 권을 떼었다면 본문의 설명만으로 충분할 것이라 생각합니다.
디자인 패턴을 처음 공부하신다면 수라의 길이 될지도 모릅니다만, 이 책을 두고두고 보시게 될 겁니다 :)
저 개인적으로는 1, 3, 2장 순서로 보기를 권합니다.
독자분들께서 (체감상) 불편한 코딩 환경을 가지고 계시다면, 혹은 프로젝트를 만들고 소스 코드를 관리하는 방법에 대한 조언을 구하기 어렵다면 책의 예제들을 https://wandbox.org에서 실행해보는 것도 권해드리고 싶습니다. Wandbox에서는 Boost를 지원하니 일부 예제를 제외하면 큰 문제없이 코딩 연습을 병행할 수 있을 것입니다.

실습 환경
o H/W: Dell XPS 15 9560
o O/S: Windows 10 1809 Pro x64
o Tool: Visual Studio 2017 Professional, NuGet 패키지 매니저
o SDK: Windows SDK 10.0.14393.0

_ 박동하 / ㈜알체라 전문연구원

도서목차


1장 개요
__1.1 사전 지식
__1.2 중요한 개념
__1.3 SOLID 디자인 원칙

제 I 부 생성 패턴
I.1 함수에서의 객체 리턴

2장 빌더
__2.1 시나리오
__2.2 단순한 빌더
__2.3 흐름식 빌더
__2.4 의도 알려주기
__2.5 그루비-스타일 빌더
__2.6 컴포지트 빌더
__2.7 요약

3장 팩터리
__3.1 시나리오
__3.2 팩터리 메서드
__3.3 팩터리
__3.4 내부 팩터리
__3.5 추상 팩터리
__3.6 함수형 팩터리
__3.7 요약

4장 프로토타입
__4.1 객체 생성
__4.2 평범한 중복 처리
__4.3 복제 생성자를 통한 중복 처리
__4.4 직렬화(Serialization)
__4.5 프로토타입 팩터리
__4.6 요약

5장 싱글턴(Singleton)
__5.1 전역 객체로서의 싱글턴
__5.2 전통적인 구현
__5.2.1 멀티스레드 안정성
__5.3 싱글턴의 문제
__5.4 싱글턴과 제어 역전(Inversion of Control)
__5.5 모노스테이트(Monostate)
__5.6 요약

제 II 부 구조 패턴
6장 어댑터
__6.1 시나리오
__6.2 어댑터
__6.3 일시적 어댑터
__6.4 요약

7장 브릿지
__7.1 Pimpl 관례
__7.2 브릿지
__7.3 요약

8장 컴포지트
__8.1 배열에 기반한 속성
__8.2 그래픽 객체의 그루핑
__8.3 뉴럴 네트워크
__8.4 요약

9장 데커레이터
__9.1 시나리오
__9.2 동적 데커레이터
__9.3 정적 데커레이터
__9.4 함수형 데커레이터
__9.5 요약

10장 퍼사드( )
__10.1 터미널은 어떻게 동작할까?
__10.2 고급 터미널
__10.3 퍼사드는 어디에 있는가?
__10.4 요약

11장 플라이웨이트(Flyweight)
__11.1 사용자 이름
__11.2 Boost.Flyweight
__11.3 문자열 범위
__11.4 섣부른 접근 방법
__11.5 플라이웨이트의 구현
__11.6 요약

12장 프록시(Proxy)
__12.1 스마트 포인터
__12.2 속성 프록시
__12.3 가상 프록시
__12.4 커뮤니케이션 프록시
__12.5 요약

제 III 부 행태 패턴
13장 책임 사슬(Chain of Responsibility)
__13.1 시나리오
__13.2 포인터 사슬
__13.3 브로커 사슬
__13.4 요약

14장 커맨드
__14.1 시나리오
__14.2 커맨드 패턴의 구현
__14.3 되돌리기(Undo) 작업
__14.4 컴포지트 커맨드
__14.5 명령과 조회의 분리
__14.6 요약

15장 인터프리터
__15.1 산술 표현식의 계산
__15.2 Boost.Spirit을 이용한 파싱
__15.3 요약

16장 반복자(Iterator)
__16.1 표준 라이브러리의 반복자
__16.2 이진 트리의 탐색
__16.3 코루틴(Coroutine)을 이용한 순회
__16.4 요약

17장 매개자(Mediator)
__17.1 채팅 룸
__17.2 매개자와 이벤트
__17.3 요약

18장 메멘토(Memento)
__18.1 은행 계좌
__18.2 Undo와 Redo
__18.3 요약

19장 Null 객체
__19.1 시나리오
__19.2 Null 객체
__19.3 shared_ptr는 Null 객체가 아니다
__19.4 개선된 디자인
__19.5 묵시적인 Null 객체
__19.6 요약

20장 관찰자(Observer)
__20.1 속성 관찰자
__20.2 Observer
__20.3 Observable
__20.4 관찰자(Observer)와 관찰 대상(Observable)의 연결
__20.5 종속성 문제
__20.6 수신 해제와 스레드 안정성
__20.7 재진입성(Reentrancy)
__20.8 Boost.Signals2를 이용한 관찰자
__20.9 요약

21장 상태(State)
__21.1 상태 기반 상태 전이
__21.2 수작업으로 만드는 상태 머신
__21.3 Boost.MSM을 이용한 상태 머신
__21.4 요약

22장 전략
__22.1 동적 전략
__22.2 정적 전략
__22.3 요약

23장 템플릿 메서드
__23.1 게임 시뮬레이션
__23.2 요약

24장 방문자(Visitor)
__24.1 침습적 방문자
__24.2 반추적(reflective) 출력
__24.3 디스패치(Dispatch)?
__24.4 전통적인 방문자
__24.5 비순환 방문자
__24.6 std::variant와 std::visit
__24.7 요약

제 IV 부 부록: 함수형 디자인 패턴
25장 ~라면 모나드(Maybe Monad)

해시태그

#분철무료 #모던 #디자인 #패턴

도서 리뷰작성!

평점
답변상태 문의답변 작성자 작성일

도서 문의작성!

배송 - 월요일~토요일 오전9시 이전에 입금 확인 된 주문은 다음날 배송받으실 수 있습니다.
- 토요일 발송분은 오전9시 이전 주문에 한하여 월요일 수령 가능 합니다.
(일부 제작상품 및 재고부족 도서 제외)
- 재고가 부족한 일부 상품의 경우 1~3일 정도 배송이 지연될 수 있습니다.
교환/반품 방법 1:1 문의 글 등록, 고객만족센터 (1544-1356) 전화 후 교환/반품 문의하시면 됩니다.
교환/반품 가능기간 출고 완료 후 7일 이내에 교환/반품/환불이 가능합니다.
교환/반품 비용 고객님 변심에 의한 반품, 환불, 교환 시 택배비는 본인 부담입니다.
교환/반품 불가사유 - 상담원과의 상담 없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
- 상품이 훼손된 경우 반품 및 교환, 환불이 불가합니다.
- 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한됩니다.
서브노트, 스프링 분철 교재 등은 교환이나 반품이 불가합니다.
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로
안내해드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에
관한 사항은 소비자분쟁해결 기준 (공정거래위원회고시)에 준하여 처리됨
- 대금환불 및 환불지연에 따른 배상금 지급 조건, 절차등은 전자상거래 등에서의
소비자 보호에 관한 법률에 따라 처리됨