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

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

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

آموزش برنامه نویسی | الگوی ریپازیتوری چیست؟

Repository چیست؟

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

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

what-is-repository-pattern.png

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

آموزش برنامه نویسی | الگوی ریپازیتوری چیست؟

Repository چیست؟

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

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

 

repository-pattern.png

 

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

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

مزایا:

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

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

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

ORM چیست؟

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

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

"منتشر شده در سایت ably"

 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس