WEBBOOK CHAPTER

요구사항을 코드의 경계로 바꾸는 도메인 설계: 1장. 시니어 설계는 그림보다 결정이다

1장. 시니어 설계는 그림보다 결정이다

아키텍처는 상자 수가 아니라 변경 비용과 실패 범위를 통제하는 결정의 집합이다. 먼저 사용자 약속, 손실 가능한 데이터, 되돌릴 수 없는 행동을 적는다. 도구나 microservice 수는 그 뒤에 정한다.

손쉽게 따라 하기

예약 변경 요청을 받아 결정·근거·포기한 대안·재검토 조건 네 칸으로 기록한다. 입력에는 실제 고객·계정·도메인 대신 tenant-demo, example.invalid와 저장소 fixture만 사용한다. 시작 전 기대 결과와 바꾸지 않을 불변식을 한 줄로 적는다.

같은 화면에서 확인할 증거

lab/public/index.html의 공통 FieldPass Evidence Board에서 책 slug domain-architecture-decisions, 장 번호 1, run ID를 선택한다. 입력, 판정, 관측값, rollback을 채우고 명령 결과와 같은지 확인한다. 성공 화면만 캡처하지 않고 의도한 실패 하나와 다음 안전 행동을 함께 남긴다.

막혔을 때

서비스 이름부터 정했다면 업무 결과와 실패 비용으로 되돌아간다. 원인을 확정하기 전 최근 변경, 환경, 권한, 시간 범위와 실제 오류를 고정한다. 외부 서비스를 반복 호출하지 않고 로컬 fixture로 최소 재현한 뒤 한 변수만 바꾼다. 복구는 process 상태가 아니라 FieldPass 예약·결제·정산의 업무 결과로 선언한다.