Strategy Pattern
Behavioral Pattern
Intro
Strategy 패턴이란?
전략 패턴은 컨텍스트 관련 알고리즘 세트를 정의하고, 이를 분리된 클래스로 캡슐화하여 클라이언트가 런타임에 알고리즘을 선택할 수 있도록 하는 패턴이다.
전략 패턴은 기존 알고리즘이나 컨텍스트 클래스를 수정하지 않고 새로운 알고리즘을 추가할 수 있다.
전략 패턴은 SOLID 원칙의 Open-closed Principle 을 기반으로 한다.
Strategy 패턴의 아키텍처
Context
전략 패턴을 이용하는 역할을 수행
Strategy
인터페이스나 추상클래스로 외부에서 동일한 방식으로 알고리즘을 호출하는 방법을 명시한다.
ConcreteStrategy
전략 패턴에서 명시한 알고리즘을 실제로 구현할 클래스
Strategy 패턴의 예시
적용 가능한 상황
장 단점
다른 디자인 패턴과의 관계
Last updated