=== 1부 소개 ===
1장 설계와 아키텍처란?
__목표는?
__사례 연구
__결론
2장 두 가지 가치에 대한 이야기
__행위
__아키텍처
__더 높은 가치
__아이젠하워 매트릭스
__아키텍처를 위해 투쟁하라
=== 2부 벽돌부터 시작하기: 프로그래밍 패러다임 ===
3장 패러다임 개요
__구조적 프로그래밍
__객체 지향 프로그래밍
__함수형 프로그래밍
__생각할 거리
__결론
4장 구조적 프로그래밍
__증명
__해로운 성명서
__기능적 분해
__엄밀한 증명은 없었다
__과학이 구출하다
__테스트
__결론
5장 객체 지향 프로그래밍
__캡슐화?
__상속?
__다형성?
__결론
6장 함수형 프로그래밍
__정수를 제곱하기
__불변성과 아키텍처
__가변성의 분리
__이벤트 소싱
__결론
=== 3부 설계 원칙 ===
7장 SRP: 단일 책임 원칙
__징후 1: 우발적 중복
__징후 2: 병합
__해결책
__결론
8장 OCP: 개방-폐쇄 원칙
__사고 실험
__방향성 제어
__정보 은닉
__결론
9장 LSP: 리스코프 치환 원칙
__상속을 사용하도록 가이드하기
__정사각형/직사각형 문제
__LSP와 아키텍처
__LSP 위배 사례
__결론
10장 ISP: 인터페이스 분리 원칙
__ISP와 언어
__ISP와 아키텍처
__결론
11장 DIP: 의존성 역전 원칙
__안정된 추상화
__팩토리
__구체 컴포넌트
__결론
=== 4부 컴포넌트 원칙 ===
12장 컴포넌트
__컴포넌트의 간략한 역사
__재배치성
__링커
__결론
13장 컴포넌트 응집도
__REP: 재사용/릴리스 등가 원칙
__CCP: 공통 폐쇄 원칙
__CRP: 공통 재사용 원칙
__컴포넌트 응집도에 대한 균형 다이어그램
__결론
14장 컴포넌트 결합
__ADP: 의존성 비순환 원칙
__하향식(top-down) 설계
__SDP: 안정된 의존성 원칙
__SAP: 안정된 추상화 원칙
__결론
=== 5부 아키텍처 ===
15장 아키텍처란?
__개발
__배포
__운영
__유지보수
__선택사항 열어 두기
__장치 독립성
__광고 우편
__물리적 주소 할당
__결론
16장 독립성
__유스케이스
__운영
__개발
__배포
__선택사항 열어놓기
__계층 결합 분리
__유스케이스 결합 분리
__결합 분리 모드
__개발 독립성
__배포 독립성
__중복
__결합 분리 모드(다시)
__결론
17장 경계: 선 긋기
__두 가지 슬픈 이야기
__FitNesse
__어떻게 선을 그을까? 그리고 언제 그을까?
__입력과 출력은?
__플러그인 아키텍처
__플러그인에 대한 논의
__결론
18장 경계 해부학
__경계 횡단하기
__두려운 단일체
__배포형 컴포넌트
__스레드
__로컬 프로세스
__서비스
__결론
19장 정책과 수준
__수준
__결론
20장 업무 규칙
__엔티티
__유스케이스
__요청 및 응답 모델
__결론
21장 소리치는 아