본문 바로가기

추천 검색어

실시간 인기 검색어

모던 C++ 디자인 패턴

객체지향 소프트웨어 디자인을 재사용하는 방법
길벗

2019년 05월 16일 출간

종이책 : 2019년 04월 30일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 ePUB (9.77MB)
ISBN 9791160508000
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

소득공제
소장
정가 : 20,000원

쿠폰적용가 18,000

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

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

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

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

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

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

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

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

작가정보

저자 : 드미트리 네스터룩
금융 분석가(퀀트), 소프트웨어 개발자, 교육/저술가, 콘퍼런스 연사이다. 소프트웨어 개발과 더불어 계산, 금융 분석, 알고리즘 트레이딩의 모범 사례들을 통합하는 데 전문성과 관심을 갖고 있다. 기술적으로는 C# 및 C++ 프로그래밍 언어와 CUDA, FPGA 등을 활용한 고성능 컴퓨팅에 관심이 많다. 그리고 2009년부터 C# MVP로 선정되어 활동하고 있다.

역자 : 권오인
아르바이트, 창업, 벤처를 거쳐 잠시 생뚱맞게 이동 통신사 연구소에서 사업 기획을 하다가 현재 대형 제조사에서 시스템 소프트웨어 개발을 하고 있다. 공대생의 로망인 메카닉 제어 펌웨어 개발이 첫 시작이었으나, 생계를 꾸리다 보니 본의 아니게 웹 서비스, 모바일 앱까지 버티컬한 소프트웨어 스택 전체와 부딪히고 있다.
역서로는 <소프트웨어 장인>(길벗, 2015), <알고리즘 개정4판>(길벗, 2018) 등이 있다.

작가의 말

[옮긴이의 말]
디자인 패턴은 일상적인 코딩 문제들의 해법을 일반화한 코딩 노하우의 모음입니다. 프로그래머라면 절대 놓쳐서는 안될 지식입니다. 프로그래머로서 역량을 키우는데 디자인 패턴만큼 배우기 쉬우면서도 효과가 큰 지식은 대단히 드뭅니다.
당연하게도 코딩 문제의 해법은 사용하는 프로그래밍 언어의 특성에 큰 영향을 받습니다. C++는 난해하기로 악명이 높고 오랜 기간 정체되어 있었습니다. 하지만 C++11 표준을 시작으로 “모던 C++”라는 애칭을 부여받으며 잠에서 깨어나고 있습니다. 모던 C++는 C++만이 제공하는 끝판왕급 최적화 기능과 하드웨어 제어 자유도를 고스란히 간직하고 있습니다. 여기에 부러워하며 쳐다보기만 했던 신생 언어들의 멋진 기능들을 품으며 새롭게 태어났습니다.
디자인 패턴을 모던 C++ 버전으로 누가 좀 정리해줬으면 좋겠다는 생각을 하던 차에 이 책을 만났습니다. 딱 생각하던 바로 그 책이었습니다.
이 책은 최신 C++ 표준은 물론 아직 표준화가 진행 중인 따끈따끈한 기능까지 활용하고 있습니다. 모던 C++의 새로운 기능들로 인해 코드가 얼마나 간결하고 아름다워질 수 있는지 보여줍니다. 뿐만 아니라 전통적인 디자인 패턴에 대한 비판과 대안도 제시하고 있으며 함수형 언어에서 활용되는 모나드 개념까지 소개하고 있습니다.
모니터 바로 옆에 두고 애용될 책이라 믿어 의심치 않습니다
_권오인

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    모던 C++ 디자인 패턴 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    모던 C++ 디자인 패턴 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    모던 C++ 디자인 패턴
    객체지향 소프트웨어 디자인을 재사용하는 방법
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)