State Pattern

게시글 상태 전이 설계 기준

게시글 상태 패턴은 런타임 상태 객체로 분기할 수도 있고, 타입 자체를 상태로 나눠 잘못된 호출을 컴파일 타임에 막을 수도 있습니다.

런타임 유연성 또는 타입 안전성

상태 객체

Box<dyn State>로 전이를 캡슐화합니다.

전이 메서드

request_review와 approve가 다음 상태를 반환합니다.

타입 상태

DraftPost와 Post를 나누면 허용 메서드가 달라집니다.

본문 공개

본문 공개 시점이 상태 규칙과 일치하는지 봅니다.

판단 기준: 상태 전이가 자주 바뀌면 객체 방식, 잘못된 상태의 메서드 호출을 막고 싶으면 타입 기반 방식을 선택합니다.