객체지향 설계 · 디자인 패턴LESSON 11
Strategy 패턴: 규칙을 교체 가능하게 만들기
난이도중급 → 심화
예상 시간65분
선수지식이전 강의
11강. Strategy 패턴: 규칙을 교체 가능하게 만들기
1. 이번 강의에서 해결할 문제
할인 유형 switch가 주문 서비스에 있으면 정책 추가와 서비스 테스트가 함께 변합니다.
2. 학습 목표
3. 핵심 개념
Strategy는 같은 목표를 계산하는 알고리즘을 교체합니다. 수명·상태가 필요한 정책은 객체, 작은 계산은 std::function이나 템플릿 매개변수가 단순할 수 있습니다.
4. 구현
PricingService.h
class DiscountPolicy { public: virtual ~DiscountPolicy() = default;
virtual Money discount(const Order&) const = 0; };
Money PricingService::total(const Order& order) const {
return order.subtotal() - policy_.discount(order);
}
5. 코드가 동작하는 이유
PricingService 흐름은 고정되고 정책 테스트는 주문 입력과 할인 출력만 확인합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2Strategy 패턴: 규칙을 교체 가능하게 만들기 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
11강. Strategy 패턴: 규칙을 교체 가능하게 만들기 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.