Strategy Pattern (전략 패턴)
- 여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근점에서 서로 정보교환이 가능하도록 하는 패턴
- 흐름: Client가 전략을 고른다.(여러 선택지 중) -> 선택된 전략을 Dependency injection으로 Context에 넘겨준다.
Context는 전달받은 전략으로 초기화하여 필요한 자원(프로퍼티, 메서드 등)을 사용한다.
- 전략 패턴을 사용해면 콘텍스트 코드의 변경없이 새로운 전략을 추가, 수정에 용이하다.
(사용예) 캐릭터와 무기의 사용
무기 인터페이스
칼 (무기 인터페이스를 상속 받은 클래스)
창 (무기 인터페이스를 상속 받은 클래스)
도끼 (무기 인터페이스를 상속 받은 클래스)
캐릭터 클래스 (무기 인터페이스를 이용하여 공격 기능이 존재)
메인 클래스 (캐릭터를 생성하고 공격기능을 사용)
'Development > Java' 카테고리의 다른 글
[행위 패턴] Template Method pattern (템플릿 메소드 패턴) (0) | 2017.03.12 |
---|---|
[구조 패턴] Adapter pattern (어댑터 패턴) (0) | 2017.03.12 |
Junit 사용하기 (0) | 2017.03.11 |
Singleton 패턴 기본구조 (0) | 2017.03.05 |
Java 자바 가변인자 사용법 arguments 배열 (0) | 2017.03.01 |