• 메인으로 이동
    AD광고
    New경이롭고 치열한 생존 이야기극한 진화의 세계
    AD광고
    New행복을 선택하는 삶의 태도불행에 몰두하지 않는다
    • 베스트
    • 소득공제
    • 무료배송

    C++ 소프트웨어 디자인 - 고품질 소프트웨어 구축을 위한 설계 원칙과 패턴

    • 클라우스 이글베르거 저
    • 이상주 역
    • 위키북스
    • 2023년 10월 30일
    10%28,800원32,000
    적립금
    1,600원 (5% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 10/6(화) 출고 가능
    택배보다 빠른, 나우드림
    28,800원

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791158394585
    쪽수468쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 인터넷
    관련 이벤트
    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    영풍문고 단독 리커버 『달리기를 말할 때 내가 하고 싶은 이야기』

    2026.09.28 ~ 2026.12.31

    • 사은품

    『디그 잇3』 출간기념 포토카드 증정 이벤트

    2026.09.14 ~ 2026.10.02

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    영풍문고 단독 리커버 『달리기를 말할 때 내가 하고 싶은 이야기』

    2026.09.28 ~ 2026.12.31

    • 사은품

    『디그 잇3』 출간기념 포토카드 증정 이벤트

    2026.09.14 ~ 2026.10.02

    책 소개
    좋은 소프트웨어 디자인은 프로젝트 성공에 필수지만, 소프트웨어를 디자인하기는 어렵다. 디자인 결정의 결과를 깊게 이해하고 사용 가능한 디자인 대안에 대해 잘 알고 있어야 한다. 이 책을 통해 숙련된 C++ 개발자는 최신 언어를 사용한 소프트웨어 디자인에 대해 철저하고 실용적이며 비교할 바 없는 훌륭한 개요을 얻게 될 것이다. C++ 강사이자 컨설턴트인 클라우스 이글베르거는 의존성과 추상화를 관리하고, 소프트웨어 개체의 변경 용이성과 기능 확장성을 향상시키며, 최신 기술과 흐름을 활용하기 위해 최신 디자인 패턴을 적용하고 구현하는 방법을 설명한다. 소프트웨어 디자인은 소프트웨어의 가장 중요한 특성인 유지 보수성, 변경 용이성, 기능 확장성에 영향을 미치므로 소프트웨어 프로젝트의 가장 중요한 측면이다.
    목차
    ▣ 01장: 소프트웨어 디자인 기술 지침 1: 소프트웨어 디자인의 중요성을 이해하라 __기능은 소프트웨어 디자인이 아니다 __소프트웨어 디자인: 의존성과 추상화 관리 기술 __소프트웨어 개발의 세 가지 수준 __기능에 집중하기 __소프트웨어 디자인과 디자인 원칙에 집중하기 지침 2: 변경을 위한 디자인 __관심사 분리(separation of concerns) __인위적인 결합 예 __논리적 결합 대 물리적 결합 __반복하지 말 것 __너무 이른 관심사 분리를 피한다 지침 3: 인터페이스를 분리해 인위적인 결합을 피하라 __인터페이스를 분리해 관심사 분리하기 __템플릿 인자의 요구 사항 최소화하기 지침 4: 테스트 용이성을 위한 디자인 __비공개 멤버 함수 테스트 방법 __진정한 해결책: 관심사 분리 지침 5: 확장을 위한 디자인 __개방-폐쇄 원칙 __컴파일 시점의 기능 확장성 __너무 이른 기능 확장을 위한 디자인을 피한다 ▣ 02장: 추상화 구축 기술 지침 6: 추상화로 기대하는 행위를 따르라 __기대를 어기는 예 __리스코프 치환 원칙 __리스코프 치환 원칙에 대한 비판 __좋고 의미 있는 추상화의 필요성 지침 7: 기초 클래스와 콘셉트 간 유사성을 이해하라 지침 8: 다중 정의 집합의 의미론적 요구 사항을 이해하라 __자유 함수의 힘: 컴파일 시점 추상화 메커니즘 __자유 함수의 문제: 행위에 대한 기대 지침 9: 추상화 소유권에 주의하라 __의존성 역전 원칙 __플러그인 아키텍처에서 의존성 역전 __템플릿을 통한 의존성 역전 __다중 정의 집합을 통한 의존성 역전 __의존성 역전 원칙 대 단일 책임 원칙 지침 10: 아키텍처 문서 작성을 고려하라 ▣ 03장: 디자인 패턴의 목적 지침 11: 디자인 패턴의 목적을 이해하라 __디자인 패턴은 이름이 있다 __디자인 패턴은 의도를 전달한다 __디자인 패턴은 추상화를 도입한다 __디자인 패턴은 입증됐다 지침 12: 디자인 패턴에 대한 오해를 주의하라 __디자인 패턴은 목표가 아니다 __디자인 패턴은 구현 상세에 관한 것이 아니다 __디자인 패턴은 객체 지향 프로그래밍이나 동적 다형성에 국한하지 않는다 지침 13: 디자인 패턴은 어디에나 있다 지침 14: 디자인 패턴 이름을 사용해 의도를 전달하라 ▣ 04장: 비지터 디자인 패턴 지침 15: 타입 또는 연산 추가를 위한 디자인 __절차적 해결책 __객체 지향 해결책 __동적 다형성에서 디자인 선택을 인식한다 지침 16: 비지터를 사용해 연산을 확장하라 __디자인 문제 분석 __비지터 디자인 패턴 해설 __비지터 디자인 패턴 단점 분석 지침 17: 비지터를 구현하는 데 std::variant를 고려하라 __std::variant 소개 __도형 그리기를 값 기반, 비간섭 해결책으로 리팩터링하기 __성능 벤치마크 __std::variant 해결책의 단점 분석 지침 18: 비순환 비지터의 성능에 주의하라 ▣ 05장: 전략 디자인 패턴과 커맨드 디자인 패턴 지침 19: 전략을 사용해 작업 수행 방법을 분리하라 __디자인 문제 분석 __전략 디자인 패턴 해설 __순진한 해결책의 단점 분석 __비지터와 전략 비교 __전략 디자인 패턴 단점 분석 __단위 전략 기반 디자인 지침 20: 상속보다 구성을 선호하라 지침 21: 커맨드를 사용해 수행할 작업을 분리하라 __커맨드 디자인 패턴 해설 __커맨드 디자인 패턴 대 전략 디자인 패턴 __커맨드 디자인 패턴 단점 분석 지침 22: 참조 의미론보다 값 의미론을 선호하라 __GoF 형식의 단점: 참조 의미론 __참조 의미론: 두 번째 예 __모던 C++ 철학: 값 의미론 __값 의미론: 두 번째 예 __디자인 패턴을 구현하는 데 값 의미론 사용을 선호하라 지침 23: 전략과 커맨드는 값 기반 구현을 선호하라 __std::function 소개 __도형 그리기 리팩터링 __성능 벤치마크 __std::function 해결책 단점 분석 ▣ 06장: 어댑터 디자인 패턴, 옵서버 디자인 패턴, CRTP 디자인 패턴 지침 24: 어댑터를 사용해 인터페이스를 표준화하라 __어댑터 디자인 패턴 해설 __객체 어댑터 대 클래스 어댑터 __표준 라이브러리의 예 __어댑터와 전략 비교 __함수 어댑터 __어댑터 디자인 패턴의 단점 분석 지침 25: 추상 통지 메커니즘으로 옵서버를 적용하라 __옵서버 디자인 패턴 해설 __전통적인 옵서버 구현 __값 의미론을 기반으로 한 옵서버 구현 __옵서버 디자인 패턴의 단점 분석 지침 26: CRTP를 사용해 정적 타입 범주를 도입하라 __CRTP에 대한 동기 __CRTP 디자인 패턴 해설 __CRTP 디자인 패턴 단점 분석 __CRTP의 미래: CRTP와 C++20 콘셉트 간 차이 지침 27: 정적 믹스인 클래스에 CRTP를 사용하라 __강타입(Strong type)의 동기 __구현 패턴으로 CRTP 사용 ▣ 07장: 브리지 디자인 패턴, 프로토타입 디자인 패턴, 외부 다형성 디자인 패턴 지침 28: 브리지를 구축해 물리적 의존성을 제거하라 __동기 부여 사례 __브리지 디자인 패턴 해설 __핌플 관용구 __브리지와 전략의 비교 __브리지 디자인 패턴 단점 분석 지침 29: 브리지 성능 이득과 손실을 인식하라 __브리지 성능 영향 __부분 브리지로 성능 향상시키기 지침 30: 추상 복사 연산에는 프로토타입을 적용하라 __양을 이용한 예: 동물 복사 __프로토타입 디자인 패턴 해설 __프로토타입과 std::variant 비교 __프로토타입 디자인 패턴 단점 분석 지침 31: 비간섭 런타임 다형성에는 외부 다형성을 사용하라 __외부 다형성 디자인 패턴 해설 __도형 그리기 다시 보기 __외부 다형성과 어댑터 비교 __외부 다형성 디자인 패턴 단점 분석 ▣ 08장: 타입 소거 디자인 패턴 지침 32: 상속 계통을 형 소거로 대체할 것을 고려하라 __타입 소거의 역사 __타입 소거 디자인 패턴 해설 __소유형 타입 소거 구현 __타입 소거 디자인 패턴 단점 분석 __두 타입 소거 래퍼 비교하기 __ 타입 소거 래퍼의 인터페이스 분리 __성능 벤치마크 __용어에 대한 한 마디 지침 33: 타입 소거의 최적화 잠재력을 인식하라 __소규모 버퍼 최적화 __함수 디스패치 직접 구현 지침 34: 소유형 타입 소거 래퍼의 설정 비용을 인식하라 __소유형 타입 소거 래퍼 설정 비용 __간단한 비소유형 타입 소거 구현 __더 강력한 비소유형 형 소거 구현 ▣ 09장: 데코레이터 디자인 패턴 지침 35: 데코레이터를 사용해 사용자 __계통적으로 추가하라 __동료의 디자인 문제 __데코레이터 디자인 패턴 해설 __데코레이터 디자인 패턴의 고전적인 구현 __두 번째 데코레이터 예 __데코레이터, 어댑터, 전략 비교 __데코레이터 디자인 패턴 단점 분석 지침 36: 런타임과 컴파일 시점 추상 __이율배반적 관계를 이해하라 __값 기반 컴파일 시점 데코레이터 __값 기반 런타임 데코레이터 ▣ 10장: 싱글턴 패턴 지침 37: 싱글턴을 디자인 패턴이 아닌 구현 패턴으로 다루라 __싱글턴 패턴 해설 __싱글턴은 의존성을 관리하거나 줄이지 않는다 지침 38: 싱글턴을 변경과 테스트 용이성을 위해 디자인하라 __싱글턴은 전역 상태를 나타낸다 __싱글턴은 변경 용이성과 테스트 용이성을 저해한다 __싱글턴에 대한 의존성 뒤집기 __전략 디자인 패턴 적용 __지역 의존성 주입으로 전환 ▣ 11장: 마지막 지침 지침 39: 디자인 패턴을 계속 배워라
    저자 소개
    저자 : 클라우스 이글베르거
      클라우스 이글베르거
      프리랜서 C++ 강사이자 컨설턴트다. 전 세계적으로 인기 있는 교육 과정을 통해 15년간 C++ 전문 지식을 공유하고 있으며 C++ 콘퍼런스에서 자주 발표하고 있다. 2010년 박사 학위를 취득한 이후 대규모 소프트웨어 디자인과 소프트웨어 유지 보수성 향상에 집중하고 있다.
      도서리뷰
      이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

      구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

      등록된 리뷰가 없습니다

      첫번째 리뷰어가 되어주세요

      이 분야에서 요즘 뜨는 책
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
      엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
      엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
      에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
      AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
      인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
      이 분야의 새로 나온 도서
      핸즈온 머신러닝 with 사이킷런. 파이토치 - 머신러닝 기본기부터 트랜스포머.LLM까지 직접 구현하며 배우기오렐리앙 제롱 | 한빛미디어
      AutoCAD 기계설계제도:개정3판 - 설계 변경 조건별 도면 작성법이광수, 김성원 | 일진사
      이공자 ITQ 파워포인트 2021(2027)KIE 기획연구실 | 아카데미소프트
      이공자 ITQ 엑셀 2021(2027)KIE 기획연구실 | 아카데미소프트
      일하는 AI 에이전트 설계하는 사람 - 도입을 넘어 AI가 진짜 일하게 만드는 운영 전략최윤석 | 한빛미디어
      합격의 기술 AICE BASIC 자격검정 실전문제(2027)김계철 | 에이아이에듀
      천재적 영감을 히트곡으로 만드는 수노 AI 작사 작곡 - 쉽고 빠르게 프로처럼 완성하는 작사 작곡 편곡 리믹스이은하수 | 보누스
      난생처음 AI x 부동산 with 클로드. 제미나이. 챗GPT. 퍼플렉시티 - 지역 분석부터 임장. 매수까지 감이 아닌 데이터로 투자하는 나만의 부동산 매니저정경석, 이철로, 정상기 | 한빛미디어
      핸즈온 머신러닝 with 사이킷런. 파이토치 - 머신러닝 기본기부터 트랜스포머.LLM까지 직접 구현하며 배우기오렐리앙 제롱 | 한빛미디어
      AutoCAD 기계설계제도:개정3판 - 설계 변경 조건별 도면 작성법이광수, 김성원 | 일진사
      이공자 ITQ 파워포인트 2021(2027)KIE 기획연구실 | 아카데미소프트
      이공자 ITQ 엑셀 2021(2027)KIE 기획연구실 | 아카데미소프트
      일하는 AI 에이전트 설계하는 사람 - 도입을 넘어 AI가 진짜 일하게 만드는 운영 전략최윤석 | 한빛미디어
      합격의 기술 AICE BASIC 자격검정 실전문제(2027)김계철 | 에이아이에듀
      천재적 영감을 히트곡으로 만드는 수노 AI 작사 작곡 - 쉽고 빠르게 프로처럼 완성하는 작사 작곡 편곡 리믹스이은하수 | 보누스
      난생처음 AI x 부동산 with 클로드. 제미나이. 챗GPT. 퍼플렉시티 - 지역 분석부터 임장. 매수까지 감이 아닌 데이터로 투자하는 나만의 부동산 매니저정경석, 이철로, 정상기 | 한빛미디어
      교환/반품/환불
      반품/교환방법
      • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
      • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
      반품/교환 가능기간
      • 변심반품의 경우 수령 후 7일 이내
      • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
      반품/교환비용
      • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
      반품/교환 불가 사유
      • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
        예) 만화, 잡지, 수험서 및 문제집류
      • 복제가 가능한 상품 등의 포장을 훼손한 경우
        예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
      • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
      • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
      • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
      • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
      상품 품절
      • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
      소비자 피해보상
      환불지연에 따른 배상
      • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
      • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
      공지사항
      • [이벤트 당첨자 발표] 재레드 다이아몬드 『리더는 언제 차이를 만들어내는가』 리뷰 이벤트 당첨자 발표
      • [이벤트 당첨자 발표] 10월 모두의 서가 이벤트 당첨자 안내
      • [공지사항] 추석 연휴 전국 지점 영업시간 안내
      • [공지사항] [세종이마트점] 2026 추석 연휴 영업시간 안내
      • [공지사항] [인터넷 영풍문고] 2026년 추석 연휴 배송 일정 안내
      공지더보기