State Pattern
13 May 2021 | DesignPatternState 패턴이란 객체가 특정 상태에 따라 행위를 달리하는 상황에서
상태를 직접 체크하여 상태에 따라 행위를 호출하지 않고
상태를 객체화 하여 상태가 행동을 할 수 있도록 위임하는 패턴이다.
예를 들어, 노트북을 키고 끄는 전원버튼을 만든다고 할 때, 클래스 내에서 if문으로 제어를 할 수도 있다. 하지만 이럴 경우 코드가 복잡하고 무거워진다.
이 때 PowerButton
이라는 인터페이스를 만들어 여러가지 상태에 따라 구현을 해주고 클래스에서는 호출만 하는 방식으로 이용할 수 있다.
Stratgy 패턴과 매우 비슷한데, 굳이 비교하자면 전략패턴은 상속을 대체하는 목적으로 사용하고, 상태 패턴은 복잡한 조건문을 대체하는 목적으로 사용된다.