와챠의 우당탕탕 코딩 일기장
[JAVA 디자인 패턴] - 6, Strategy 패턴 본문
반응형
Strategy Pattern
Strategy 패턴은 알고리즘을 쉽게 교체할 수 있는 패턴이다.
예제로는 플레이어가 레벨 1일 때는 쉬운 공격을 하고,
레벨 2일때는 어려운 공격을 하는 코드를 짜 봤다.
- Strategy 인터페이스 = 레벨에 따라 다른 공격을 구현하게 함
- Level 1 클래스 = 레벨 1의 공격인 쉬운 알고리즘 구현
- Level 2 클래스 = 레벨 2의 공격인 어려운 알고리즘 구현
- (※원래는 attack에 알고리즘이 들어가야 하는데 간단하게 표현하고자 생략)
- Player 클래스 = 플레이어를 나타내는 클래스
장점
Player 클래스에 구체적인 Strategy 클래스(Level 1, Level 2)는 보이지 않는다.
Strategy의 일이 필요할 때엔 필드인 strategy에게 위임(◇) 하기 때문에
알고리즘을 유연하게 교체할 수 있다.
활용 :
- 빠른 알고리즘을 찾기 위해 알고리즘마다 시간을 재기
- 각 프로그램에 맞는 알고리즘으로 교체하기
JAVA 언어로 배우는 디자인 패턴 입문(p 179~191) 참고
반응형
'코딩 일기장 > JAVA 디자인 패턴' 카테고리의 다른 글
[JAVA 디자인 패턴] - 7, Composite 패턴 (0) | 2020.11.09 |
---|---|
[JAVA 디자인 패턴] - 5, Singleton 패턴 (0) | 2020.10.02 |
[JAVA 디자인 패턴] - 4, Factory Method 패턴 (0) | 2020.10.02 |
[JAVA 디자인 패턴] - 3, Template Method 패턴 (0) | 2020.09.22 |
[JAVA 디자인 패턴] - 2, Adapter 패턴 (0) | 2020.09.16 |
Comments