Ruhollah Jafari
Ruhollah Jafari
خواندن ۲ دقیقه·۴ سال پیش

ریپازیتوری چیست و چرا باید از آن استفاده کنیم؟

معنی لغوی رپوزیتوری مخزن و یا ذخیره کردن اطلاعات می باشد و شگردی جدید در برنامه نویسی محسوب می شود.

به طور کلی بعد از سپری شدن سالیان متمادی برنامه نویسان یادگرفته اند برای کاهش کد های زائد خود تدابیر خاصی بیندیشند و تمام تلاش خود را صرف این نمایند که با نوشتن کمتر کد در برنامه خود بیشترین بازده را از برنامه ها طلب نمایند. بعد از به وجود آمدن برنامه نویسی شی گرا برنامه نویسی وارد مرحله تازه ای شد به خصوص بعد از معرفی نسل جدید معماری برنامه نویسی سمت وب MVC دیگر کمتر شرکت آینده نگری را یافت خواهید کرد که از معماری MVC استفاده نکند.

در این معماری از الگویی به نام ریپازیتوری استفاده می شود.
در این معماری از الگویی به نام ریپازیتوری استفاده می شود.
  • ریپازیتوری یک استراتژی برای دسترسی به داده ها است.
  • ریپازیتوری در حقیقت مانع تکرار در نوشتن Logic پروژه و Query های شما خواهد شد.
  • به حداقل رساندن وابستگی لایه دیتا به تکنولوژی ها
  • از موضوع‌های مهم دیگر میتوان به تست واحد پروژه اشاره کرد که قطعا با استفاده از Repository Pattern بسیار ساده‌تر و قابل اطمینان‌تر است.

یکی دیگر از دلایل استفاده از ریپوزیتوری این است که سوئیچ کردن از یک دیتابیس به دیتابیس دیگر بسیار مشکلات کمتری را خواهد داشت. که این موضوع به دلیل جدا بودن پروژه شما از کوئری‌های مختلف در کلاس‌های متفاوت است.

مزایا:

  1. بالابردن خوانایی و نگهداری منطق تجاری با جداسازی دسترسی به دیتا
  2. کنترل مرکزی نسبت به دسترسی به دیتا
  3. امکان تعویض تکنولوژی مربوط به دسترسی به دیتا در آینده
  4. نوشتن تست های واحد (Unit Test) به جای تستهای یکپارچه (Integration Test)
  5. کاهش پیچیدگی در سطح کد و نیز کاهش کد نویسی

با توجه به تعریف ریپازیتوری مشخص است که هدف اصلی آن مخفی کردن پیچیدگی های لایه ی دسترسی به دیتاست.

باید بدانید که رقیب سرسخت این الگو ORM است.


ORM چیست؟

ORM چیست؟

ORM یا Object-Relational Mapping روشی مدرن برای مدیریت اطلاعات است. ORM یا Object-relational mapping یک تکنیک برنامه نویسی برای ارتباط بین دیتابیس و برنامه شئ گرای ما می باشد. مهمترین مزیت ORM ها این است که عملیات CRUD یا Create-Read-Update-Delete را به راحتی برای ما انجام می دهند.

با این وجود و با تمام مخالفان و موافقان باید بگوییم هر کدام به نوبه ی خود مزایا و معایب خاص خود را دارند.


repositoryorm
شاید از این پست‌ها خوشتان بیاید