Java/Design Pattern
Strategy Pattern (전략 패턴)
SeongWon
2022. 1. 27. 15:27
반응형
Strategy Pattern (전략패턴) 이란?
행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴
같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고, 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴으로 '행위 패턴' 의 하나이다.
즉, 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다.
여기서 전략이란 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비지니스 규칙, 문제를 해결하는 알고리즘 등을 말한다.
전략 패턴의 특징
- 각 행동을 모듈화해서 독립적이고 상호 교체 가능하게 만듦
- strategy, context, client 의 세 요소로 구성
- client 에서 strategy 객체를 생성해 context에 주입하는 패턴
- 자바에서는 단일 상속만 지원하기 때문에, 템플릿 메서드보다 전략 패턴을 많이 사용함
- OCP, DIP 활용한 설계 패턴
반응형