반응형
처음거랑 기능적으로는 같지만 구조가 다름
각각의 State별로 Encapsulation되어 있음
state가 증가할때마다 클래스가 늘어나는 단점이있음
클래스 다이어그램상 차이는 없음
의도의 차이.
- State = State에 dependency가 있는 Behavior를 Encapsulation하기 위해서.
State Pattern이 없으면 Conditoin Block(if문)이 존나 생김
- Stragegy = 어떤 특정한 객체에 가장 적합한 전략을 연결해주고 Delegation해줌 / 전략변경 빈도는 State에 비해 낮음
Stragegy 없으면 상속을 세분화 해서 해결하려 했을 것.
필요할때 Create해도 되고, 아까 예제처럼 처음에 바로 만들고 레퍼런스를 만들어도 된다.
Requirement가 변하기 때문에 이걸 썼었다.
state pattern은 훨씬 더 잦은 빈도로 바뀐다.
반응형
'Design Architecture > Design Pattern' 카테고리의 다른 글
11강 Factory method & Abstract Factory Patterns (1) | 2021.08.29 |
---|---|
10강 Mediator Pattern (0) | 2021.08.29 |
8강 Iterator Pattern (0) | 2021.08.29 |
7강 Template Method (1) | 2021.08.29 |
6강 Observer Pattern (0) | 2021.08.29 |