معنی لغوی رپوزیتوری مخزن و یا ذخیره کردن اطلاعات می باشد و شگردی جدید در برنامه نویسی محسوب می شود.
به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند.
یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئریهای مختلف در کلاسهای متفاوت است.
مزایا:
با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.
باید بدانید که رقیب سرسخت این الگو ORM است.
ORM چیست؟
ORM یا Object-Relational Mapping روشی مدرن برای مدیریت اطلاعات است. ORM یا Object-relational mapping یک تکنیک برنامه نویسی برای ارتباط بین دیتابیس و برنامه شئ گرای ما می باشد. مهمترین مزیت ORM ها این است که عملیات CRUD یا Create-Read-Update-Delete را به راحتی برای ما انجام می دهند.
با این وجود و با تمام مخالفان و موافقان باید بگوییم هر کدام به نوبه ی خود مزایا و معایب خاص خود را دارند.