CodeShot
Seniorسختی 3 از ۵· در 20٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت الگوی Strategy با Factory Method چیست؟

نشان کردن

پاسخ کوتاه

Strategy دربارهٔ انتخاب یک رفتار/الگوریتم در زمان اجراست؛ Factory Method دربارهٔ نحوهٔ ساخته‌شدن یک Object است.

پاسخ کامل

Strategy یک خانواده از الگوریتم‌های قابل‌تعویض را پشت یک Interface مشترک کپسوله می‌کند (مثلاً چند روش محاسبهٔ تخفیف)؛ Factory Method تصمیم می‌گیرد کدام زیرکلاس باید ساخته شود. این دو اغلب با هم اشتباه گرفته می‌شوند چون هر دو از Interface/Abstraction استفاده می‌کنند.