#Repository #Pattern
اشتباهات رایج در استفاده از الگوی Repository
یکی از مباحثِ جذاب برای برنامه نویسان، استفاده از الگوهای طراحی برای نظم دادن به کدها و استفاده از مزایای متعدد آن در امر توسعه است. از رایج ترین الگوها که بیشتر در کدهای برنامه نویسان به چشم میخورد، الگوی ریپازیتوری است. با این وجود، نداشتن درک درست از این الگو سبب بُروز اشتباهاتی در نحوه ی استفاده از آن می شود. چند اشتباه رایج در استفاده از این الگو که باید از آنها اجتناب کرد:
- ریپازیتوری هایی که کلاس های dto یا view model برمیگردانند.
- استفاده از متد Save داخل ریپازیتوری.
- ریپازیتوری هایی که خروجی متدهای آن از نوع IQueryable است.
لینک زیر دلایل اشتباه بودن این موارد را به طور کامل شرح میدهد:
http://programmingwithmosh.com/entity-framework/common-mistakes-with-the-repository-pattern/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
اشتباهات رایج در استفاده از الگوی Repository
یکی از مباحثِ جذاب برای برنامه نویسان، استفاده از الگوهای طراحی برای نظم دادن به کدها و استفاده از مزایای متعدد آن در امر توسعه است. از رایج ترین الگوها که بیشتر در کدهای برنامه نویسان به چشم میخورد، الگوی ریپازیتوری است. با این وجود، نداشتن درک درست از این الگو سبب بُروز اشتباهاتی در نحوه ی استفاده از آن می شود. چند اشتباه رایج در استفاده از این الگو که باید از آنها اجتناب کرد:
- ریپازیتوری هایی که کلاس های dto یا view model برمیگردانند.
- استفاده از متد Save داخل ریپازیتوری.
- ریپازیتوری هایی که خروجی متدهای آن از نوع IQueryable است.
لینک زیر دلایل اشتباه بودن این موارد را به طور کامل شرح میدهد:
http://programmingwithmosh.com/entity-framework/common-mistakes-with-the-repository-pattern/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
Programming with Mosh
4 Common Mistakes with the Repository Pattern - Programming with Mosh
UPDATE (Nov 5 2018): While you’re here to become a better C# developer, I strongly recommend you to watch my Python tutorial on YouTube. Python is super-hot these days. It’s the number one language employers are looking for and gives you 4x more job opportunities…
#Interface #Pattern #DI
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
http://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
http://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
✅ کانال تخصصی AspNet MVC
https://telegram.me/joinchat/BEv5CTyb2T-NYf2E5RZxfA
blog.hovland.xyz
Stop overusing interfaces
Dependency Injection using concrete classes
#Interface #Pattern #DI
❇️از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
http://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
_______
@DotNetZoom
❇️از اینترفیس ها بیش از حد استفاده نکنید!
یکی از نشانه های برنامه نویسانِ بزرگ و حرفه ای، استفاده ی به جا، مناسب و به دور از اغراق، از مفاهیم و الگوهای برنامه نویسی است. هدف همه ی ما، داشتن کدی تمیز و خوانا، با قابلیت نگهداری بالا و امکانِ استفاده ی مجدد است .
خوشبختانه اینترفیس ها (Interface)، تحققِ بسیاری از این موارد را برایمان ممکن کرده اند. مخصوصا وقتی صحبت از تزریق وابستگی ها (Dependency Injection) و یا انجام آزمون های واحد (Unit Testing) به میان می آید، بدون کوچکترین تعلل به سراغ تعریف اینترفیس به ازای تک تک کلاس ها می رویم. اما آیا واقعا در تمامی موارد و سناریوها نیاز به تعریف این اینترفیس ها داریم؟!
اگر شما هم از آن دسته از برنامه نویسانی هستید، که عادت به تعریف اینترفیس ها و پیچیده کردنِ روال، بدون در نظر گرفتن و ارزیابیِ شرایطِ موجود را دارید، مطالعه ی مقاله ی زیر شاید موجب تجدید نظر در این دیدگاه شود:
http://blog.hovland.xyz/2017-04-22-stop-overusing-interfaces/
_______
@DotNetZoom
blog.hovland.xyz
Stop overusing interfaces
Dependency Injection using concrete classes