دیزاین پترن Strategy از دسته رفتاری در مجموعه ۲۳ پترن مشهور Gang of Four است. خانوادهای از الگوریتمها را پشت قرارداد مشترک قرار میدهد تا در زمان اجرا قابل تعویض باشند.
سناریوی واقعی در فروشگاه
هزینه ارسال درونشهری، تیپاکس و تحویل حضوری میتواند از Strategyهای متفاوت محاسبه شود.
نمونه در PHP
interface ShippingStrategy { public function fee(Cart $cart): int; }
final class ExpressShipping implements ShippingStrategy {
public function fee(Cart $cart): int { return 120000; }
}
نمونه در پایتون
class ExpressShipping:
def fee(self, cart): return 120000
class PickupShipping:
def fee(self, cart): return 0
چه زمانی مناسب نیست؟
برای تعداد خیلی کم حالت ثابت، چند شرط ساده گاهی خواناتر از کلاسهای متعدد است.
برای شناخت جایگاه این پترن در سه دسته اصلی، دیزاین پترن را ببینید. مقاله دیزاین پترن باورژن و دوره آموزشی باورژن نیز منابع مرتبطاند.