채팅 명령 처리의 세 층

문자열 문법과 세션 상태, 외부 효과를 차례로 분리한다.

  1. 프레임 파싱

    키 정확 일치와 인수 개수를 확인한다.

  2. 상태 검증

    입장 전 메시지와 중복 입장을 거절한다.

  3. 명령 실행

    이름 디렉터리와 broadcast를 변경한다.

  4. 결과 번역

    Reply, Publish, Close를 네트워크 행동으로 바꾼다.

핵심: 입력 오류는 값으로 반환하고 실제 I/O 장애와 섞지 않는다.