logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

제네릭 프로그래밍과 디자인 패턴을 적용한 Modern C++ Design

제네릭 프로그래밍과 디자인 패턴을 적용한 Modern C++ Design

(C++ in Depth 시리즈)

안드레 알렉산드레스쿠 (지은이), 이기형 (옮긴이), 곽용재 (감수)
인포북
20,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

제네릭 프로그래밍과 디자인 패턴을 적용한 Modern C++ Design
eBook 미리보기

책 정보

· 제목 : 제네릭 프로그래밍과 디자인 패턴을 적용한 Modern C++ Design (C++ in Depth 시리즈)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788980545179
· 쪽수 : 500쪽
· 출판일 : 2003-07-30

책 소개

C++을 통하여 제네릭 컴포넌트(판박이 코드를 생성해 주는 재사용 가능한 디자인 템플릿)의 개념을 소개하고 적용하는 방법을 학습하는 책이다. 제네릭 컴포넌트는 보다 쉽고 효율적으로 애플리케이션 디자인 업무를 진행할 수 있도록 도와준다.

목차

용어 대역표

Part 1 테크닉

Chapter 1 단위전략 기반의 클래스 디자인
1.1 소프트웨어 디자인의 다양성
1.2 Do-It-All 인터페이스의 문제점
1.3 다중 상속이 해결책이 될 수 있을까요?
1.4 템플릿의 이점
1.5 단위전략과 단위전략 클래스
1.5.1 템플릿 템플릿 인자를 통한 단위전략 클래스의 구현
1.5.2 템플릿 멤버 함수를 통한 단위전략 클래스의 구현
1.6 단위전략 인터페이스의 보강
1.7 단위전략 클래스의 소멸자
1.8 불완전한 구체화를 통한 부가기능
1.9 단위전략 클래스 간의 조합
1.10 단위전략 클래스를 통한 커스터마이징
1.11 호환/비호환 단위전략
1.12 클래스를 단위전략으로 분리해 내기
1.13 요약

Chapter 2 테크닉
2.1 컴파일 타임 어써션
2.2 템플릿의 부분 특화
2.3 로컬 클래스
2.4 상수 값에서 자료형으로의 변환
2.5 자료형에서 다른 자료형으로의 매핑
2.6 자료형의 선택
2.7 형변환과 상속 가능의 여부를 컴파일 타임에 알아내는 방법
2.8 type_info에 대한 포장 클래스
2.9 NullType과 EmptyType
2.10 Traits 자료형
2.10.1 포인터 Traits의 구현
2.10.2 기본 자료형에 대한 판별
2.10.3 인자의 자료형에 대한 최적화
2.10.4 한정자 제거하기
2.10.5 TypeTraits의 사용
2.10.6 TypeTraits의 완전한 포장
2.11 요약

Chapter 3 Typelists
3.1 Typelist의 필요성
3.2 Typelist의 정의
3.3 Typelist 생성의 선형화
3.4 길이의 계산
3.5 중간 첨언
3.6 Index에 의한 접근
3.7 Typelist에 대한 탐색
3.8 Typelist에 자료형 또는 Typelist 추가하기
3.9 Typelist에서 특정 자료형을 제거하기
3.10 중복 자료형의 삭제
3.11 Typelist의 한 원소를 다른 자료형으로 바꾸기
3.12 부분적으로 정렬된 Typelist
3.13 Typelist를 통한 클래스 생성
3.13.1 비선형 계층 구조의 생성
3.13.2 Tuple의 생성
3.13.3 선형 계층 구조의 생성
3.14 요약
3.15 Typelist Quick Facts

Chapter 4 작은 객체에 대한 메모리 할당
4.1 C++가 제공하는 기본 할당기
4.2 메모리 할당기가 하는 작업
4.3 작은 객체에 대한 메모리 할당기
4.4 Chunk
4.5 FixedAllocator
4.6 SmallObjAllocator 클래스
4.7 컴파일러의 해트 트릭
4.8 간단하게, 또 복잡하게, 그러나 결국에는 간단하게...
4.9 활용 방안
4.10 요약
4.11 작은 객체에 대한 할당기 Quick Facts

Part 2 컴포넌트

Chapter 5 일반화 함수자
5.1 Command 디자인 패턴
5.2 실질 세계의 Command
5.3 C++의 호출 가능 객체들
5.4 Functor 클래스 템플릿의 뼈대
5.5 전달 함수 Functor::operator()의 구현
5.6 함수자 다루기
5.7 하나를 구성하고, 다른 하나는 공짜로 얻어내기
5.8 인자와 반환 값의 형변환
5.9 멤버 함수에 대한 포인터 다루기
5.10 바인딩
5.11 요청 작업의 체인화
5.12 실제 적용 시의 문제 1: 전달 함수가 갖는 부하
5.13 실제 적용 시의 문제 2: Heap 영역에서의 할당
5.14 Functor를 통한 Undo와 Redo의 구현
5.15 요약
5.16 Functor Quick Facts

Chapter 6 싱글톤의 구현
6.1 Static 데이터 + Static 함수 ! = 싱글톤
6.2 싱글톤의 지원을 위한 기본적인 C++ 기법
6.3 Singleton 객체의 유일성 보장
6.4 Singleton의 파괴
6.5 참조 무효화 현상
6.6 참조 무효화 현상에 대한 해법 (1): Phoenix 싱글톤
6.6.1 atexit 함수의 문제
6.7 참조 무효화 현상에 대한 해법 (2): 수명 제어 Singleton
6.8 수명 제어 Singleton의 구현
6.9 다중 스레드의 세계 속에서...
6.9.1 이중 검사 동기화 패턴
6.10 통합
6.10.1 SingletonHolder를 단위전략으로 쪼개기
6.10.2 SingletonHolder의 단위전략에 대한 요구 사항의 정의
6.10.3 SingletonHolder의 조립
6.10.4 Stock 단위전략의 구현
6.11 SingletonHolder로 작업하기
6.12 요약
6.13 SingletonHodler 클래스 템플릿 Quick Facts

Chapter 7 스마트 포인터
7.1 스마트 포인터 첫걸음
7.2 대가
7.3 스마트 포인터의 저장 구조
7.4 스마트 포인터 멤버 함수
7.5 소유권 관리 전략
7.5.1 완전 복사(Deep Copy)
7.5.2 Copy on Write(COW)
7.5.3 참조 카운팅
7.5.4 참조 연결 리스트
7.5.5 파괴 복사
7.6 주소 추출 연산자
7.7 원시 포인터 자료형으로의 암묵적 형변환
7.8 동치 조건과 부등 조건
7.9 대소 비교
7.10 오류 검사 및 보고
7.10.1 초기화 검사
7.10.2 객체 접근 전 검사
7.10.3 오류 보고
7.11 상수 객체에 대한 스마트 포인터와 상수 스마트 포인터
7.12 배열
7.13 스마트 포인터와 다중 스레딩
7.13.1 포인팅 받는 객체 레벨에서의 다중 스레딩
7.13.2 부가 데이터 수준에서의 다중 스레딩
7.14 통합 정리
7.14.1 Storage 단위전략
7.14.2 Ownership 단위전략
7.14.3 Conversion 단위전략
7.14.4 Checking 단위전략
7.15 요약
7.16. 스마트 포인터 Quick Facts

Chapter 8 객체 팩토리
8.1 객체 팩토리의 필요성
8.2 C++에서의 객체 팩토리: 클래스와 객체
8.3 객체 팩토리의 구현
8.4 타입 식별자
8.5 일반화
8.6 참고 사항
8.7 복제 팩토리
8.8 객체 팩토리와 다른 제네릭 컴포넌트와의 활용
8.9 요약
8.10 Factory 클래스 템플릿 Quick Facts
8.11 CloneFactory 클래스 템플릿 Quick Facts

Chapter 9 추상 팩토리
9.1 추상 팩토리의 구조적 역할
9.2 제네릭한 스타일의 추상 팩토리 인터페이스
9.3 AbstractFactory의 구현
9.4 프로토타입에 기반한 추상 팩토리의 구현
9.5 요약
9.6 AbstractFactor 및 ConcreteFactory에 대한 Quick Facts

Chapter 10 비지터
10.1 비지터의 기초
10.2 오버로딩과 깔때기 함수
10.3 구현 코드의 정련: 비순환 비지터
10.4. 비지터의 일반화된 구현
10.5 순환 비지터에 대한 재고찰
10.6 변형 버전에 대한 지원
10.6.1 깔때기 함수
10.6.2 융통성 있는 비지터
10.7 요약
10.8 비지터 제네릭 컴포넌트 Quick Facts

Chapter 11 멀티 메소드
11.1 멀티 메소드란 무엇일까요?
11.2 멀티 메소드가 필요한 경우는 언제일까요?
11.3 이중 자료형 스위치: Brute Force
11.4 자동화된 Brute-Force 접근법
11.5 Brute-Force 디스패치 엔진과의 대칭성
11.6 로그 시간의 이중 디스패치 엔진
11.6.1 로그 시간의 디스패치 엔진과 상속
11.6.2 로그 시간의 디스패치 엔진과 형변환
11.7 FnDispatcher와 대칭성
11.8 함수자에 대한 이중 디스패치 엔진
11.9 인자의 형변환: static_cast인가, dynamic_cast인가?
11.10 상수 시간에 동작하는 멀티 메소드: 오직 속도
11.11 단위전략으로서의 BasicDispatcher와 BasicFastDispatcher
11.12 앞으로의 전망
11.13 요약
11.14 이중 디스패치 엔진 Quick Facts

부록 최소의 다중 스레드 라이브러리
A.1 다중 스레딩 평론
A.2 Loki의 접근법
A.3 정수 자료형에 대한 단위 연산
A.4 뮤텍스
A.5 객체지향 프로그래밍에서의 동기화
A.6 선택적인 volatile 한정자
A.7 세마포어, 이벤트 그리고 기타 등등
A.8 요약

참고 목록
찾아보기

저자소개

이기형 (옮긴이)    정보 더보기
<제네릭 프로그래밍과 디자인 패턴을 적용한 Modern C++ Design>
펼치기
곽용재 (옮긴이)    정보 더보기
2004년에 고려대학교 컴퓨터학과에서 전산학 박사 학위를 받고 현재 네이버의 검색시스템센터에서 검색서비스 개발 및 관련 검색 플랫폼 개발을 책임지고 있다. 최근 대규모 서비스 플랫폼에 대한 다차원적인 관리 체계를 구축하는 데에 많은 시간을 쏟고 있다. 1997년부터 컴퓨터 프로그래밍 서적 번역가 및 기술저술가로 활동해 왔다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책