Fat controller를 분해하는 기준

한 메서드에 모인 네 가지 변경 이유를 소유 경계로 옮긴다.

문자열 파싱

Controller binder

HTTP 입력 변화

유효성 정책

Application service

업무 규칙 변화

저장 방식

Repository 구현

인프라 변화

HTML 조립

Renderer

화면 변화
효과class 수가 아니라 수정 영향 범위와 실패 의미가 분명해진다.

핵심: 저장 상태가 필요한 중복 검사는 단일 Member 객체만으로 해결할 수 없다.