آموزش برنامه نوسی

آموزش برنامه نویسی سی شارپ asp,net mvc asp.net core angular emberjs و ...

آموزش برنامه نویسی سی شارپ asp,net mvc asp.net core angular emberjs و ...

نمیدانم چه میخواهم بگویم


<a href="https://www.zangin.ir">بهترین نرم افزار اتوماسیون اداری</a>

معماری های صحیح برنامه نویسی

سه شنبه, ۱ اسفند ۱۳۹۶، ۱۱:۱۸ ب.ظ

اصولا معماری صحیح، تفکیک شده، تمیز و قابل مدیریت و قابل نگهداری مسائل و انتزاعاتی را وارد پروژه می کند که ممکن است تاثیری منفی در سرعت و کارایی (Performance) پروژه داشته باشد. چرا که معماری و چیدن لایه ها و ماژول ها و کلاس های مختلف و کوچک، متد های کوتاه و تک منطوره نیاز به تبادل اطلاعات در سیستم را زیاد خواهد کرد. مثلا برای کاری که در یک ساختار کثیف همه اش در یک متد و پشت سر هم انجام می شد، در یک معماری اصولی ممکن هست لازم به ساخت کلاس های متنوع و چرخش داده ها در بین متد های گوناگون داشته باشیم. این به معنی کاهش کارایی نرم افزار می باشد.

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

یکی از ساده ترین مصداق های این موضوع انتخاب بین Entity Framework، ADO.NET و Dapper می باشد. همه ما می دانیم که قطعا Entity Framework از دیگر روش ها کارایی پایین تری خواهد داشت، حتی با به کار بستن ترفند های خاصِ خودش. پس انتخاب Entity Framework چه مزیتی خواهد داشت؟

در پاسخ به این سوال باید گفت که در پروژه های مهم از هیچ کدام از این روش ها به تنهایی استفاده نمی شود و پروژه باید ملغمه ای از این ها باشد. در مقاله ای که در این پست به شما معرفی می کنم، نگارنده پس از بررسی این سه فریم ورک عنوان می کند که ما تصمیم گرفتیم برای توسعه سریع تر، حفظ ساختارِ تمیز، افزایش خوانایی و مدیریت راحت تر تغییرات از Entity Framework استفاده کنیم و فقط در مواقع خاص و جاهایی که حس می کردیم با استفاده از Dapper به کاراییِ بسیار بسیار بهتری می رسیم، از Dapper استفاده کرده ایم.

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

https://www.exceptionnotfound.net/dapper-vs-entity-framework-vs-ado-net-performance-benchmarking/

این نوشته بر گرفته از کانال تلگرامی است

http://zangin.ir

http://tablokar.ir

موافقین ۱ مخالفین ۰ ۹۶/۱۲/۰۱
کدچی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی