← 질문 목록
#237깊이 0

스트레티지 패턴을 사용하는 판단 기준은 무엇인가?

아키텍처 · 분산시스템심화설계 원칙

실행 중에 알고리즘을 선택해야 하거나, 조건문이 계속 늘어나는 구조를 제거하고 싶을 때다.

기준조건문(if/switch)스트레티지 패턴
변경 빈도로직 추가 시 코드 수정클래스 추가로 확장
결합도로직이 강하게 결합인터페이스로 분리
런타임 변경불가능 또는 어려움동적으로 교체 가능

상위 클래스나 클라이언트가 구체적인 구현체에 의존하지 않게 한다. 인터페이스에 의존하면 기존 코드를 고치지 않고 전략을 추가할 수 있다.

객체 내부의 상태에 따라 동작을 바꿔야 할 때 유용하다. 예를 들어 결제 수단이 카드, 페이, 계좌이체로 늘어날 때 각각의 전략 클래스로 분리하면 유지보수가 쉽다.

다만 전략의 개수가 너무 적거나 거의 바뀌지 않는다면 오히려 클래스 수가 늘어나 구조가 복잡해지는 오버헤드가 발생한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

스트레티지 패턴을 사용하는 판단 기준은 무엇인가?