전략 패턴

ITKHJ·2023년 3월 23일
0

GoF의 디자인 패턴

목록 보기
11/16
post-thumbnail

전략 패턴

  • 여러 알고리즘을 캡슐화하고 상호 교환 가능하게 만드는 패턴
  • 자바 개발자가 가장 자주 쓰는 패턴
  • 컨텍스트에서 사용할 알고리즘을 클라이언트가 선택한다.

BlueLightRedLight(class) - Context

Speed(interface) - Strategy

Normal - ConcreteStrategy

Faster - ConcreteStrategy

Client

장점

  • 새로운 전략을 추가하더라도 기존 코드를 변경하지 않는다.(OCP)
  • 상속 대신 위임을 사용할 수 있다.
  • 런타임에 전략을 변경할 수 있다.

단점

  • 복잡도가 증가한다.
  • 클라이언트 코드가 구체적인 전략을 알아야 한다.
profile
모든 업무 지식 작성하자!

0개의 댓글