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

ASP.NET MVC


MVC چیست؟

ASP.NET MVC، تکنولوژی جدیدی است که توسط شرکت مایکروسافت به بازار معرفی شده است. با این حال، تکنولوژی MVC چیز جدیدی نمی باشد و در زبان های برنامه نویسی مختلفی استفاده شده و سالهاست که توسط برنامه نویسان، پیاده سازی می شود. الگوی معماری  Model-View-Controller (MVC)، یک برنامه را به سه گروه اصلی از مؤلفه ها، تقسیم می کند: Model، View و Controller. در واقع MVC بر روی معماری های چند لایه ای جهت تفکیک بخش های مختلف برنامه (بخش های منطقی برنامه مانند داده ها، مجوزها، کنترل صحت داده ها و لایه های مرتبط با کاربر نهایی) قرار می گیرد. 

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

 هرچند قبلاً، در برنامه نویسی ASP.NET Web Forms، از تکنیک های لایه بندی استفاده می شد؛ اما این لایه بندی کامل نبوده و لایه ها تا حدودی بر روی هم همپوشانی داشتند. مدل MVC،  سه لایه منطقی بر روی برنامه کاربردی تحت وب  تعیین می کند. لایه کسب و کار ( لایه منطقی) ، لایه نمایش (دید منطقی) و کنترل بر روی ورودی (کنترل کننده منطقی).

عملیات الگوی MVC را به این صورت می توان خلاصه کرد که، استفاده از این الگو باعث می شود، درخواست های کاربر، به بخش Controller هدایت شوند. این بخش مسئول این است که با بخش Model به طور هماهنگ، کار کند،  تا بخش Model، بتواند درخواست های کاربر را اجرا نموده و/یا نتایج پرس و جوهای موردنیاز کاربر را بازیابی نماید. Controller، یک View برای نمایش محتواها به کاربر، انتخاب می کند و بخش View، امکان نمایش داده های بخش Model را فراهم می سازد.

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

https://www.pasavan.ir/contentImage/image/images/50_11MVC.jpg

 

هر کدام از بخش های سه گانه الگوی MVC، مسئولیت و وظایف خاص خود را دارند. طرح مسئولیت ها، برای هر یک از این بخش ها، به ما کمک می کند تا بتوانیم برنامه را از لحاظ پیچیدگی، مقیاس بندی کنیم. این کار باعث خواهد شد که عملیات های کدنویسی، اشکال زادیی و تست هر بخش (model، view و controller) که وظیفه جداگانه و منحصربفرد خود را دارد، راحت تر انجام شود. انجام عملیات های به روز رسانی، تست و اشکال زدایی کدهایی که به دو یا سه بخش وابستگی دارند، بسیار دشوارتر است. به عنوان مثال، منطق رابط کاربری (user interface logic)، ممکن است تمایل داشته باشد، با تناوب بیشتری نسبت به منطق کسب و کار (business logic) تغییر یابد. اگر کد نمایش و منطق کسب و کار در یک شیء، ترکیب شوند، شیئی که حاوی منطق کسب و کار است، باید، هر بار که رابط کاربری، تغییر می یابد، عوض شود. این کار اغلب، موجب بروز خطا شده و نیاز به تست مجدد منطق کسب و کار، بعد از اعمال هر تغییر کوچک در رابط کاربری، دارد.

نکته: هر دو بخش Controller و View وابسته به بخش Model می باشند. با این حال، بخش Model، به هیچ کدام از آن دو بخش ها وابستگی ندارد. این حالت، یکی از مزیت های کلیدی، جداسازی می باشد. این کار، اجازه می دهد که Model در یک شرایط مستقل از ارائه بصری (visual presentation)، ساخته شده و تست شود.

 یکی دیگر از ویژگی های MVC، امکان افزایش سرعت و انعطاف تست برنامه می باشد. در MVC، می توان تست Unit را به خوبی و بدون دردسر  اجرا کرد. زیرا، در MVC بدون اینکه لازم باشد Controller ها را اجرا کرد، می توان آنها را تست نمود و به جای اینکه منتظر اجرا شدن Controller شده و زمانی را صرف اجرای آن نمود، می توان در همان لحظه آن را تست کرد.

 اجزای تشکیل دهنده  MVC

1- Model(مدل): قسمتی از برنامه کاربردی است که مسئول بازیابی داده ها از پایگاه داده، ذخیره سازی آنها، تبدیل آنها به شیء (object) و پیاده سازی منطق برنامه، برای داده های موردنیاز، است. در حقیقت، بار اصلی معماری MVC بر عهده این بخش می باشد.

 

۲- view (نمایشگر): اجزایی از برنامه است که رابط کاربری برنامه (UI) را می سازد. معمولاً UI، مبتنی بر داده های بخش Model، ساخته می شود. در واقع بخش View، نقطه پایان برنامه کاربردی است. به کاربر نتایج عملیات انجام شده را از طریق برقراری ارتباط با دو بخش دیگر، یعنی Model و Controller، نشان می دهد. برای مثال، هنگامی که کاربر در فرم ورود به سیستم، رمز عبور خود را وارد می کند، غالباً، برنامه نویسان در همان فرم اقدام به بررسی رمز عبور می کنند؛ که این عمل مغایر با قوانین MVC است. در MVC، بعد از وارد شدن رمز عبور توسط کاربر، بخش View، رمز عبور را بدون این که هیچگونه عملیاتی خاصی بر روی آن انجام دهد، آن را به بخش های دیگر می فرستد و فقط یک نتیجه ساده را از بخش های دیگر دریافت کرده و بر اساس نتیجه دریافت شده، اجازه ورود به سیستم به کاربر داده می شود.

 ۳- Controller (کنترلگر): اجزایی از برنامه می باشد که مدیریت تعامل با کاربر را بر عهده دارد. می توان گفت که واسط بین بخش های Model و View می باشد؛ یعنی با بخش Model کار می کند و در انتها یک View را با استفاده از رابط کاربری، برای نشان دادن نتایج، انتخاب می کند. ورودی کاربر را مدیریت کرده و به آنها پاسخ می دهد و با کاربر تعامل برقرار می کند. برای مثال،  Controller، عبارت های پرس و جوی بانک اطلاعاتی را مدیریت کرده و آن ها را به Model ارسال می کند، وظیفه اجرای پرس و جوها با بخش Model می باشد.

ASP.NET MVC چیست؟

ASP.NET، یک تکنولوژی برای طراحی صفحات وب می باشد، که توسط شرکت مایکروسافت به بازار ارائه شده است. ASP.NET چارچوب پیشرفته طراحی وب و صفحات آن را با استفاده از زبان های HTML، CSS، Java Script، اسکریپ سرور فراهم می کند. ASP.NET، سه مدل متفاوت را پشتیبانی می کند. صفحات وب، فرم های وب و MVC. MVC یکی از سه مدل برنامه نویسی ASP.NET می باشد که برای ایجاد برنامه های کاربردی تحت وب استفاده می شود.

در ASP.NET MVC، برنامه نویس و یا طراح به صورت کامل بر روی خروجی HTML، کنترل دارد و کدها به صورت خودکار، همانند آنچه که در ASP.NET Web Forms  وجود دارد، تولید نمی شوند و خروجی بسیار تمیز و کم حجم تر می باشد. از طرفی، در این شرایط، سر بار کدهای Java Script و View State  وجود ندارد.

هم چنین، ASP.NET MVC از فریم ورک های تزریقی نیز پشتیبانی می کند. در فریم ورک تزریقی، به جای ساختن اشیاء از کلاس ها، آنها از جایی بیرون از کد مورد استفاده قرار می گیرند و این مسئله تست برنامه را آسان تر می کند.

MVC، به برنامه نویس کمک می کند که برنامه های کاربردی پیچیده تحت وب را به خوبی، مدیریت کند. زیرا می تواند در آن واحد، بر روی یک موضوع تمرکز نماید. برای مثال، می توان بر روی دید (view)، بدون در نظر گرفتن لایه Business تمرکز کرد. این الگو، تست کردن برنامه کاربردی را آسان نموده و هم چنین توسعه برنامه نیز ساده تر انجام می شود. توسعه دهندگان متفاوت، بر روی بخش های دید ، کنترل کننده منطقی و لایه کسب و کار به طور موازی باهم کار کنند.

در ASP.NET Web Forms، هر بار که کاربر درخواست خود را جهت دریافت یک صفحه، به سرور ارسال می کند، سرور تمامی کنترل های ایجاد شده بر روی صفحه ی درخواست شده را، در رفت و برگشت صفحه (PostBack) از بین می برد. برای جلوگیری از پاک شدن کنترل ها و مقادیر صفحه قبلی در حین ایجاد یک صفحه جدید، از View State استفاده می شود. در حالی که، در ASP.NET MVC  هیچ کدام از مکانیزم های PostBack و View State کاربرد ندارد. زیرا، حالت نمایش اطلاعات نهایی و ارسال مجدد آنها به بخش View،  کاملاً خودکار بوده و نیازی به استفاده از مکانیزم View State وجود ندارد.

 

مدل MVC، نسبت به مدل ASP.NET Web Forms،  قابلیت تست بهتر، راحت تر و سازگارتر با تمام خصیصه های ASP.NET مانند صفحات Master، و امنیت و تصدیق هویت دارد.

در حال حاضر، بسیاری از وب سایت های برتر ایران با استفاده از تکنولوژی  ASP.Net MVC توسعه یافته اند. سایت هایی مثل دیجی کالا، ورزش سه، ایرانسل، همراه اول، بانک ملی، بانک ملت، رویال میاند، نی نی سایت، جام نیوز، سازمان سنجش، تبیان، خبرگزار ایسنا، بلاگفا وغیره، از این تکنولوژی برای برای برنامه نویسی وب سایت خود، استفاده نموده اند. از این رو، می توان گفت که در ایران، بازار کار خوبی برای این تکنولوژی و معماری وجود دارد.

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 1 , تعداد قسمت ها: 20 , سطح: متوسط

این فصل در یک نگاه:

  Blazor فریمورک معرفی شده از سوی مایکروسافت برای ساخت صفحات SPA با استفاده از زبان سی شارپ میباشد!!!      بله درست شنیدید ساخت صفحات وب با استفاده از سی شارپ از این به بعد ممکن خواهد …
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید