구성 역할과 사용 역할

구체 구현 선택과 실제 요청 처리를 서로 다른 코드 경계에 둔다.

Composition root

Repository 구현과 객체 수명 선택

시작 시 한 번

Route compiler

Controller metadata 검증

port 개방 전

Controller

HTTP와 use case 변환

요청마다

Service

업무 규칙 실행

요청마다
수명공유 가능한 불변 객체와 요청별 mutable context를 조립 단계에서 구분한다.

핵심: startup 실패 시 server가 traffic을 받기 전에 전체 구성을 폐기한다.