본문 바로가기

Knowledge/Design Pattern

전략패턴 (Strategy Pattern)

가장 많이 사용되는 디자인 패턴 중 하나인 전략패턴


전략패턴 (Strategy Pattern)


알고리즘 인터페이스를 정의하고, 각각의 알고리즘 클래스별로 캡슐화하여 각각의 알고리즘을 교체 사용 가능하게한다.

즉, 하나의 결과를 만드는 목적은 동일하나 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지 존재할 경우 

기본이 되는 가장 많이 사용되는 패턴 중 하나이다.


전략패턴을 사용하는 이유는 무엇일까?

전략패턴을 사용하는 사용하는 가장 큰 이유는 알고리즘의 캡슐화이다.




디자인 원칙 1 : 애플리케이션에서 달라지는 부분을 찾아내고 달라지지 않는 부분으로부터 분리시킨다.


디자인 원칙 2 : 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.


디자인 원칙 3 : 상속보다는 구성을 활용한다.