فرض کن توی پروژه ۲۰ جا این کار رو انجام دادی:
fetch("/api/users")بعد از چند ماه میفهمی API تغییر کرده:
/api/v2/users
حالا باید بری ۲۰ فایل مختلف رو بگردی و تغییر بدی.
مشکل fetch نیست.
مشکل اینه که جزئیات ارتباط با API پخش شده داخل Business Logic پروژه.
بهتره یک لایه مشخص برای API داشته باشی:
Components
↓
Services
↓
API Client
↓
Backend
مثلاً:
// userService.js
export async function getUsers() {
return api.get("/users");
}
حالا Component فقط میدونه:
const users = await getUsers();
اگر فردا URL، Header، Authentication یا حتی روش ارتباط تغییر کرد، لازم نیست کل پروژه رو بگردی.
🔥 این همون تفاوت بین:
«کدی که الان کار میکنه»
و
«کدی که شش ماه بعد هم قابل نگهداریه»
💡 هر چیزی که احتمال تغییرش بالاست، نباید در ۲۰ نقطه مختلف پروژه پخش شده باشه.
@CodeVerse_dev