SW 공학/::: 패턴
///[GoF] State Pattern
MG_
2021. 9. 26. 11:45
상태를 클래스로 표현하기
* State Pattern
* 의도
- 상태에 따라 다른 방법으로 동작하기 위해 객체의 상황을 행동과 연결한다
* 활용
- 객체의 행동이 그것의 상태에 따라 동작해야만 할 때
- 상태 전환이 명시적으로 필요할 때
* 디자인 원리
- 변화는 것을 캡슐화 하라
- 상속보다 compositoin 을 선호하라
- 전략 패턴을 기반으로 구현한다
- 전략 패턴과의 차이점 중 하나는 의도가 다르다
- Composition + Delegation
* 상태 패턴은 상태 기반의 행동들을 캡슐화하고 현재 상태에 행동을 위임한다
전략 패턴은 교체가능한 동작을 캡슐화하고 어떤 행동을 사용할지 결정하기 위해 위임을 사용한다
템플릿 메소드 패턴은 서브클래스들이 알고리즘의 스텝들을 어떻게 구현할지 결정한다