TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #580 392
🧠 یه مشکل معماری که هرچی پروژه بزرگ‌تر بشه، بیشتر اذیتت می‌کنه

فرض کن توی پروژه JavaScript چندین بخش مستقیم به API وصل شدن:

fetch("/api/users")
fetch("/api/products")
fetch("/api/orders")

اوایل پروژه هیچ مشکلی نداره.

اما چند ماه بعد Authentication تغییر می‌کنه.

مثلاً باید یک Header اضافه کنی:

Authorization: Bearer TOKEN

حالا باید بری تمام fetchها رو پیدا کنی و تغییر بدی. 😐

اینجاست که داشتن یک API Client مرکزی ارزش خودش رو نشون میده.

مثلاً:

const api = {
get(url) {
return fetch(`/api${url}`, {
headers: {
Authorization: `Bearer ${token}`
}
});
}
};

حالا بقیه پروژه فقط با این لایه کار می‌کنن:

const users = await api.get("/users");

بعداً اگر:

🔹 Base URL تغییر کرد
🔹 Authentication تغییر کرد
🔹 Retry لازم شد
🔹 Logging اضافه شد
🔹 Error Handling مرکزی خواستی

فقط یک نقطه رو تغییر میدی.

ساختار کلی:

UI
↓
Service
↓
API Client
↓
Backend

🔥 اینجاست که مفهوم Separation of Concerns از یک اصطلاح تئوری تبدیل میشه به چیزی که واقعاً زندگی برنامه‌نویس رو راحت می‌کنه.

💡 پروژه‌های بزرگ معمولاً با یک تصمیم بزرگ خراب نمی‌شن؛ با صدها تصمیم کوچیک که هرکدوم «فعلاً مشکلی ایجاد نمی‌کنن» به مرور غیرقابل نگهداری میشن.

@CodeVerse_dev
  • 🔥 6
  • ❤ 2
More from @codeverse_dev
  1. Oct 7, 2026🔥git reflog؛ دکمه Undo واقعی Git فرض کن یه Branch رو اشتباهی حذف کردی. یا یه reset --hard…
  2. Oct 7, 2026👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟ طبق نظرسنجی…
  3. Oct 7, 2026🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آ…
  4. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  5. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  6. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →