به تیم نویسندگان ما بپیوندید
حسن محمدزادهحسن محمدزاده
بازگشت به بلاگمعماری و DevOps

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

۱ اردیبهشت ۱۴۰۵

رضا کریمی

نویسنده:

رضا کریمی

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

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

ایده‌ی اصلی

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

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

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

نظرات (0 نظر)

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

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