[디자인패턴] State(상태) : 객체의 상태 변경으로 다른 행동을 하는 객체로 변경

swift 디자인패턴 - State Pattern

Sample-Code

Sample-Code 2

"상태에 따라 사용할 수 있는 기능들이 달라져야 할때 사용된다."

State 패턴은 객체 내부의 상태에 따라서 객체가 다른 행동을 할 수 있게 해주는 패턴이다.

즉, 객체의 상태만 변경해도 다른 행동을 하는 객체로 만들어준다

상태 패턴은 유한 상태 머신(?)과 밀접한 관련이 있다.

다만 조건문에 기반한 상태 머신의 단점은, 상태의 수와 상태에 따른 동작이 추가될 때 크게 드러난다.

Structure

Untitled

Untitled

Context

State