الگوی Repository و Generic Repository و مزایای استفاده از آنها

چهارشنبه 29 مهر 1394

در این مقاله می خواهیم نشان دهیم repository pattern چیست و مزایای استفاده از آن چیست ؟ از repository برای جلوگیری از دوباره کاری و تکرار استفاده می شود. امروزه در پروژه های حرفه ای که با معماری multi-tier یا multi-layer ایجاد می شوند، لازم است که از دوباره کاری پرهیز شود.

الگوی Repository  و Generic Repository  و مزایای استفاده از آنها

در این مقاله  می خواهیم نشان دهیم repository pattern چیست و مزایای استفاده از آن چیست ؟ از repository برای جلوگیری از دوباره کاری و تکرار استفاده می شود. امروزه در پروژه های حرفه ای که با معماری multi-tier یا multi-layer ایجاد می شوند، لازم است که از دوباره کاری پرهیز شود.

الگوی Repository

گاهی اوقات لازم است یک منطق بین منطق کاری و منطق دسترسی داده ها تعریف شود. این منطق می تواند استفاده کردن از الگوی Repository  را تعریف کند.  اساسا یک میانجی بین دو لایه است. عمدتا جایی استفاده می شود که نیاز است داده ها قبل از رفتن به مرحله بعد تغییر کنند.

مزایای استفاده از Repository

. متمرکز کردن منطق داده ها (data logic) یا منطق کاری (business logic)و منطق سرویس (service logic) 

. یک  نقطه تعویض برای واحد تست است.

. یک معماری قابل انعطاف فراهم میکند.

. اگر بخواهید منطق دسترسی داده ها یا منطق کاری را تغییر دهید نیازی نیست منطق repository  را تغییر دهید.

الگوی Generic repository

گاهی اوقات لازم است یا بهتر است همه منطق های repository  در یک مکان با استفاده از generic logic  ساخته شوند. ما می توانیم فقط یک کلاس repository  ایجاد کنیم که مسئول رسیدگی به کل سناریو خواهد بود. می تواند یک منطق بین repository  و دسترسی به داده ها  یا یک منطق بین منطق کاری و repository باشد. در همه موارد ما فقط یک repository می نویسیم. مزیت اصلی generic repository ، استفاده مجدد از کد است.

مزایای استفاده از Generic repository

. افزونگی کد را کاهش می دهد.

. برنامه نویس را به استفاده از همان الگو مجبور میکند.

. ایجاد خطاها را کمتر می کند.

. اگر از این الگو استفاده کنید ، نگه داری منطق دسترسی به داده های متمرکز آسان می شود.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید