상태를 클래스로 표현하기

 

* State Pattern

 

 

* 의도

   - 상태에 따라 다른 방법으로 동작하기 위해 객체의 상황을 행동과 연결한다

 

* 활용

   - 객체의 행동이 그것의 상태에 따라 동작해야만 할 때

   - 상태 전환이 명시적으로 필요할 때

 

* 디자인 원리

  - 변화는 것을 캡슐화 하라

  - 상속보다 compositoin 을 선호하라

 

 

- 전략 패턴을 기반으로 구현한다

- 전략 패턴과의 차이점 중 하나는 의도가 다르다

- Composition + Delegation

 

* 상태 패턴은 상태 기반의 행동들을 캡슐화하고 현재 상태에 행동을 위임한다

  전략 패턴은 교체가능한 동작을 캡슐화하고 어떤 행동을 사용할지 결정하기 위해 위임을 사용한다

  템플릿 메소드 패턴은 서브클래스들이 알고리즘의 스텝들을 어떻게 구현할지 결정한다

'SW 공학 > ::: 패턴' 카테고리의 다른 글

///[GoF] Factory Method Pattern  (0) 2021.09.26
///[GoF] Mediator Pattern  (0) 2021.09.26
///[GoF] Iterator Pattern  (0) 2021.09.26
///[GoF] Template Method Pattern  (0) 2021.09.26
///[GoF] Observer Pattern  (0) 2021.09.25

+ Recent posts