Web appOpen in Telegram

Post🧩 Design Patterns in 3 Minutes | Factory Pattern

13 September 2026
C
CodeVerse | دنیای برنامه نویسان
🧩 Design Patterns in 3 Minutes | Factory Pattern فرض کن در پروژه یک سیستم پرداخت داری: if ($gateway === 'zarinpal') { $payment = new Zarinpal(); } if ($gateway === 'idpay') { $payment = new IDPay(); } if ($gateway === 'stripe') { $payment = new Stripe(); } امروز مشکلی ندارد. اما بعداً می‌شود: 5 Gateway ↓ 10 Gateway ↓ 20 Gateway و Controller تبدیل می‌شود به یک جنگل از if/elseها. 😅 اینجا Factory Pattern می‌تواند کمک کند. مثلاً: $payment = PaymentFactory::make($gateway); حالا مسئولیت ساخت Object از Controller خارج شده. 🎯حالا Factory چه مشکلی حل می‌کند؟ به جای اینکه هر جای پروژه بدانی: «برای ساخت این Object دقیقاً باید چه Classای را new کنم؟» این تصمیم را به یک نقطه مشخص منتقل می‌کنی. 💡 اما یک نکته Senior-Level: قابلیتFactory را فقط برای اینکه کدت حرفه‌ای‌تر به نظر برسد استفاده نکن. اگر فقط دو Class داری و منطق ساخت ساده است، Factory ممکن است فقط پیچیدگی اضافه کند. موضوع Pattern زمانی ارزش دارد که یک مشکل واقعی در طراحی را حل کند. @CodeVerse_dev
3 · 380 ·

Nearby in the feed

CCodeVerse | دنیای برنامه نویسان‏📊 یه ابزار ساده، کاربردی و خوش‌ساخت برای ساخت Pie Chart اگه برای گزارش، ارائه یا پروژه‌ات نیاز به نمودار دایره‌ای داری، این ابزار بدون دردسر برات می‌سازه. کافیCCodeVerse | دنیای برنامه نویسان🐘 وضعیت PHP 8.5 در سپتامبر ۲۰۲۶ اگر هنوز پروژه‌های PHP خودت را روی نسخه‌های قدیمی نگه داشته‌ای، وقت آن است که وضعیت Version را جدی‌تر بررسی کنی. شاخه فعلی PHP 8
this message
CCodeVerse | دنیای برنامه نویسان🧩 چرا بعد از حذف یک افزونه، سرعت سایت همیشه بهتر نمی‌شه؟ یک تصور رایج: «این افزونه رو حذف کردم، پس دیتابیس هم سبک شد.» لزوماً نه. بعضی افزونه‌ها هنگام حذف، تمامCCodeVerse | دنیای برنامه نویسان⚡ چرا forEach همیشه انتخاب خوبی نیست؟ این کد رو زیاد می‌بینیم: users.forEach(async (user) => { await sendEmail(user); }); ظاهرش کاملاً منطقیه. ولی یک مشکل مهم د
CCodeVerse | دنیای برنامه نویسانCodeVerse | دنیای برنامه نویسان@codeverse_dev · channel · Tech
1 060subscribers300average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count