상태 패턴은
- 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있습니다.
- 마치 객체의 클랙스가 바뀌는 것과 같은 결과를 얻을 수 있습니다.
상태를 별도의 클래스로 캡슐화한 다음 현재 상태를 나타내는 객체에게 행동을 위임하므로 내부 상태가 바뀔 때 행동이 달라지게 된다는 사실을 쉽게 알 수 있습니다.
상태 패턴 클래스 다이어그램
Context 객체에 수많은 조건문을 넣는 대신에 상태 패턴을 사용할 수 있습니다.
참고
- 에릭 프리먼, 엘리자베스 롭슨, 케이시 시에라, 버트 베이츠. 『헤드퍼스트 디자인패턴 개정판』. 한빛미디어, 2022
- https://velog.io/@y_dragonrise/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4-%EC%83%81%ED%83%9C-%ED%8C%A8%ED%84%B4State-Pattern
'Design Pattern' 카테고리의 다른 글
반복자 패턴 (Iterator Pattern) (0) | 2023.10.30 |
---|---|
템플릿 메소드 패턴 (Template Method Pattern) (1) | 2023.10.26 |
퍼사드 패턴 (Facade Pattern) (1) | 2023.10.24 |
어댑터 패턴 (Adapter Pattern) (0) | 2023.10.23 |
커맨드 패턴 (Command Pattern) (0) | 2023.09.27 |