به تیم نویسندگان ما بپیوندید
حسن محمدزادهحسن محمدزاده
بازگشت به بلاگنکات حرفه‌ای برنامه‌نویسان

آشنایی با الگوی طراحی Repository در Laravel

۳۱ مرداد ۱۴۰۵

مینا رستمی

نویسنده:

مینا رستمی

آشنایی با الگوی طراحی Repository در Laravel

وقتی کوئری‌های Eloquent مستقیم داخل Controller نوشته می‌شوند، تست نوشتن و تغییر منبع داده بعداً سخت می‌شود. الگوی Repository این مشکل را حل می‌کند.

ایده‌ی اصلی

به‌جای صدا زدن مستقیم User::where(...) در Controller، یک اینترفیس مثل UserRepositoryInterface تعریف می‌کنید و پیاده‌سازی آن را در یک کلاس جدا می‌نویسید.

  • Controller فقط با اینترفیس کار می‌کند، نه با جزئیات Eloquent.
  • تست نوشتن ساده‌تر می‌شود چون می‌توانید Repository را mock کنید.
  • تغییر منبع داده (مثلاً از MySQL به یک API خارجی) بدون تغییر Controller ممکن می‌شود.

البته برای پروژه‌های کوچک، این لایه‌ی اضافه ممکن است پیچیدگی غیرضروری ایجاد کند؛ تصمیم باید متناسب با اندازه‌ی پروژه باشد.

نظرات (0 نظر)

برای ثبت نظر باید وارد حساب کاربری خود شوید. ورود

آشنایی با الگوی طراحی Repository در Laravel | حسن محمدزاده