개발공부/디자인패턴

[디자인패턴] 전략패턴 (Stratege Pattern)

개발자 찐빵이 2023. 2. 1. 22:37
728x90

전략패턴이란?

알고리즘군을 정의하고 캡슐화해서 각 알고리즘군을 수정해서 쓸 수 있게 해주는 패턴이다.
전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있다.

이게 무슨 말일까?

즉, 객체가 할 수 있는 행위들을 각 알고리즘으로 만들어놓고,
동적으로 행위의 수정이 필요한 경우 알고리즘을 바꾸는 것으로 행위를 수정하는 것이다.

전략패턴 구현 방법

  1. 전략에 대한 인터페이스를 구현한다.
  2. 전략 인터페이스를 상속받는 세부 전략 클래스를 구현한다.
  3. 다른 클래스에서 전략 인터페이스 값으로 선언하여 특정 전략을 사용할 수 있다.

참고자료

헤드퍼스트 디자인 패턴

반응형