객체 지향 디자인 패턴

Post 상태 패턴 읽기

Post는 내부 상태 객체를 숨기고 request_review, approve, content 메서드로 공개 동작을 조절합니다.

Draft

Post::new가 만든 초기 상태이며 내용은 비어 있는 것처럼 보입니다.

PendingReview

request_review가 상태 전환을 요청합니다.

Published

approve 뒤에는 content가 저장된 문자열을 반환합니다.

타입 상태 대안

상태를 타입으로 나누면 잘못된 호출을 컴파일 시점에 줄일 수 있습니다.