چرا Asp.Net MVC؟
مقدمه
در این مقاله قصد داریم معماری MVC در ASP.Net را به طور مختصر معرفی کنیم و برنامههای مبتنی بر MVC را با برنامههای مبتنی بر وب فرم مقایسه کنیم و به ویژگیهای هریک اشاره کنیم.
MVC چیست؟
- مخفف سه کلمه Model (مدل ) و View(نمایشگر) و controller( کنترلگر) یک الگوی معماری است نه طراحی.
برخی از برنامه نویسان، همچنان از ASP.NET که بر مبنای فرمهای وب و Postback است، استفاده میکنند، برخی از ویژگی های MVC سود میبرند و بعضیها هم دو پلت فرم را ترکیب میکنند و این موضوع بیانگر این است که هیچکدام از پلتفرمها ناقض یکدیگر نیستند. در واقع MVC بر روی معماریهای چند لایهای جهت تفکیک بخشهای مختلف برنامه (بخش های منطقی برنامه مانند دادهها، مجوزها، کنترل صحت داده ها و لایههای مرتبط با کاربر نهایی) قرار می گیرد. MVC مفهوم تازهای نیست، خیلی وقت است که در جاوا PHP و بسیاری پلتفرمهای دیگر از این الگوها برای طراحی نرم افزار استفاده میشود. اما برای طراحان و توسعهدهندگان ASP.NET تازگی دارد.
اجزای تشکیل دهندهی MVC
1- Model(مدل): قسمتی از برنامه کاربردی است که مسئول بازیابی داده از بانک اطلاعاتی، ذخیره آن، تبدیل آن به شی یا آبجکت ها و پیاده سازی منطق برنامه برای دادههای دامنهی مسئله است.
۲- view(نمایشگر): اجزایی از برنامه است که واسط کاربری برنامه (UI) را میسازد. معمولاً این UI از داده های مدل ساخته می شود. در واقع نقطه پایان برنامه کاربردی است . به کاربر نتایج عملیات و بازیابی و نمایش داده از طریق برقراری ارتباط با دو بخش دیگر؛ یعنی مدل و کنترلگر را نشان میدهد.
۳- Controller(کنترلگر): اجزایی از برنامه هستند که مدیریت تعامل با کاربر را بر عهده دارند. میتوان گفت که واسط بین مدل و نمایشگر میباشند؛ یعنی با مدل کار میکند و در انتها نمایشگری را برای نشان دادن واسط کاربری انتخاب می کند. ورودی کاربر را مدیریت کرده و به آنها پاسخ می دهد و با کاربر تعامل میکند.
الگوی طراحی MVC
مزایای برنامههای مبتنی بر MVC
- با تقسیم یک برنامه به سه قسمت مدل، نمایشگر و کنترلگر، مدیریت برنامه یا پروژه را سادهتر می کند.
- از ViewState و فرم های سروری استفاده نمیکند و از این نظر برای برنامه نویسانی که تسلط کامل بر رفتار برنامه را میخواهند عالی است.
- از الگوی کنترلگر جلو استفاده میکند که درخواستهای برنامه را توسط یک کنترلگر پردازش می کند. این مسئله باعث می شود تا بتوانیم برنامه هایی را طراحی کنیم که از زیر ساختهای غنی مسیر یابی پشتیبانی میکند.
- پشتیبانی بهتری از طراحی و توسعه آزمون محور دارد.
- برای برنامه های پشتیبانی شده توسط تیم های بزرگ برنامه نویسان که کنترل بسیار بر رفتار برنامه را میخواهند، بهتر کار می کنند.
- در MVC میتوان اعتبار سنجی را تنها در حد یک خاصیت غیرفعال کرد. فیلتر مبارزه با حملات CSRF جزئی از فریم ورک MVC است. به همراه فیلتر Authorize آن که باز هم اعمال سفارشی سیستم اعتبار سنجی مبتنی بر فرمها را سادهتر میکند با امکان یکپارچگی بهتر با Role providerهای سفارشی.
همچنین Razor به صورت پیش فرض امن طراحی شده است. خروجی Razor همواره و در بدو امر، html encoded است مگر اینکه برنامه نویس آگاهانه آنرا تغییر دهد. این مورد مقاومت در برابر حملات XSS را بالا خواهد برد.
- در ASP.NET MVC به صورت پیش فرض از سیستم Routing موجود در زیر ساخت ASP.NET برای نمایش Urlهایی بدون پسوند استفاده میشود. همچنین این سیستم امکان تهیه آدرسهایی با سازگاری بهتر با موتورهای جستجو را نیز از ابتدا مدنظر داشته است.
مزایای برنامههای مبتنی بر وب فرم
- از مدل رویداد استفاده میکند که وضعیت را روی HTTP حفظ میکند.
- از الگوی کنترلگر صفحه استفاده می کند که به هر صفحه کارایی تابعی میدهد.
- از View State و فرم های سروری استفاده می کند که مدیریت اطلاعات وضعیت را سادهتر میکند.
- برای تیم های کوچک برنامه نویسی که می خواهند با استفاده از صدها کنترل موجود برای ساخت سریع برنامه وبی استفاده کنند مناسب است.
- عموماًبرای توسعه وب سادهتر است. زیرا اجرای آن ( کلاس Page، کنترل ها و …) متمرکز شدهاند و معمولاً کد کمتری نسبت به MVC نیاز دارد.
مزایای هر دو تکنولوژی در ASP.Net
- تکنولوژی بر پایه .Net Framework
- پشتیبانی از انواع زبانها به طور هم زمان
- اجرا در محیط CLR
- شئی گرایی ASP.NET
- پشتیبانی از تمام مرور گرها
- راحتی توسعه و پیکربندی
منبع:
http://developers.webmehraz.com/Article.aspx?i=100000024
http://acdev.ir/asp-net-intro
https://www.dotnettips.info/post/
https://msdn.microsoft.com/en-us/library
برای آشنایی و یادگیری ASP.Net میتوانید در دوره حضوری لایتک ثبتنام کنید.
معرفی مدرس دوره :
مدارک
- کارشناس ارشد مهندسی کامپیوتر-نرم افزار
- کارشناسی مهندسی کامپیوتر- نرم افزار
- دوره ASP.Net MVC5 در آموزشگاه سماتک
- دوره ASP.Net در جهاددانشگاهی امیرکبیر
دورهها
- دوره Asp.Net
تجربیات حرفهای شاخص اخیر
- سابقه 7 سال تحلیل و طراحی و پیاده سازی سیستم در سازمان صداوسیمای جمهوری اسلامی ایران
- انجام پروژه های انبارداری - اداری – گزارشگیری و گزارش عملکرد- تجهیزات ایستگاه های تلویزیونی و رادیویی و ...
- فعالیت در آزمایشگاه سیستم های خودتطبیق دانشگاه شهید بهشتی
- تحلیل و پیاده سازی پروژه هوشمند وب سایت خبری خودتطبی
ظرفیت دوره محدود است، بنابراین برای حضور در دوره جزو اولین نفراتی باشید که ثبتنام می کنید.
فرصت را از دست ندهید...
برای مشاهده سرفصلهای دوره و ثبتنام کلیک کنید.
اگر هنوز در ثبتنام دوره مردد هستید، همین حالا با لایتک تماس بگیرید و یک وقت مشاوره کاملا رایگان هماهنگ کنید.
متفاوت آموزش ببینید. (لایتک)