목차

=== 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장 소리치는 아