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