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) |
Dmitri Nesteruk
권오인의 다른 상품