전통 상태 패턴
상태 객체가 전이 로직을 갖고 Post는 현재 상태에 요청을 위임한다.
runtime state전통적인 상태 패턴은 trait object로 전이를 숨기고, 타입 상태 패턴은 컴파일 타임에 잘못된 순서를 막는다.
상태 객체가 전이 로직을 갖고 Post는 현재 상태에 요청을 위임한다.
runtime staterequest_review, approve 같은 규칙을 상태 구현체 안에 숨긴다.
hidden rule초안과 검토 중에는 content를 비워 두는 정책을 상태별로 둔다.
behavior switchDraftPost, PendingPost, Post처럼 타입을 바꿔 잘못된 호출을 컴파일에서 막는다.
compile proof상태가 자주 추가되면 객체 패턴, 전이 순서가 엄격하면 타입 상태가 유리하다.
design fit