PHpullh
학습 라이브러리/PHP/Strategy 패턴

PHP · 패턴

Strategy 패턴

알고리즘을 객체로 바꿔 런타임에 교체하는 strategy 패턴 예제입니다.

패턴중급strategydiscountinterface

핵심 설명

알고리즘을 객체로 바꿔 런타임에 교체하는 strategy 패턴 예제입니다.

PHP code

<?php
interface DiscountStrategy {
    public function apply(int $price): int;
}

class TenPercent implements DiscountStrategy {
    public function apply(int $price): int { return (int) ($price * 0.9); }
}

echo (new TenPercent())->apply(10000);

학습 팁

패턴 예제는 클래스 수보다 의존성 방향과 책임 분리를 중심으로 읽는 것이 더 중요합니다.

주의할 점

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.

자주 묻는 질문

Strategy 패턴란 무엇인가요?

알고리즘을 객체로 바꿔 런타임에 교체하는 strategy 패턴 예제입니다.

Strategy 패턴 학습 시 주의할 점은 무엇인가요?

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.