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

کدام برتر است؟asp.net mvc یا asp.net webform

تاریخ بروزرسانی : ﺳﻪشنبه 28 خرداد 1398

تعداد بازدید : 401

گروه دوره : برنامه نویسی وب

زمان خواندن مقاله : 10دقیقه

دراین متن میخواهیم دو مدل mvc و webform که با فریم ورک ASP.NET کار میکنند را مورد بررسی و مقایسه قرار دهیم.

کدام برتر است؟asp.net mvc  یا asp.net webform

مقایسه asp.net mvc با asp.net webform

دراین مقاله قصد داریم   asp.net webform و    asp.net mvc مورد بررسی قرار دهیم و بدانیم کدام یک برتری دارد
اول ازهمه باید بدانیم asp.net چیست و چه کار بردی دارد و بعد ازآن توضیحاتی در مورد webform  و mvc  ارائه می دهیم.
 

ASP.NET  چیست؟

یک فریم ورک است , برای برنامه های تحت وب ساخته شده است و توسط شرکت مایکروسافت معرفی شده است.
Asp.net  براساس CRL  کار می کند و با استفاده کردن از زبان های  سی شارپ و یا وی بی دانت و هر زبان دیگری می توانید برنامه های تحت وب خود را با این فریم ورک ایجاد کنید.
این فریم ورک  برای ساختن برنامه های تحت وب از دو مدل webform  و mvc  پشتیبانی می کند.
 

Web form چیست؟

Web form  قدیمی ترین مدل برنامه نویسی ASP.NET  است و این فرم ها صفحات وب مبتنی بر رویدادی هستند و با استفاده کردن
از html ,کنترل های سرور و کدهای سمت سرور نوشته می شوند.
Web form روی سرور کامپایل و اجرا می شوند ونتیجه این کار صفحات htmlای هستند که صفحات وب را نمایش می دهند.
 
مزایای web form
 
Web form  با معرفی کنترل هایی ساخت برنامه های تحت وب و ساخت واسط کاربری را ساده کرده است.
اگر شما از کدهای html  به طور مستقیم استفاده می کنید اطلاع دارید ممکن است کدی داشته باشید که در یک مروگر به درستی کار کند و در یک مرورگر بهم بریزد و کار نکند.
کنترل های موجود در web form  با تشخیص مروگر کاربر, html  مورد نیاز را می سازد و کنترل هایی مانند   GridView و  ListView  با معرفی قابلیتی تحت عنوان Data Binding    عملیات کارکردن با داده ها را ساده می کند.
وب فرم ساختاری شبیه به نرم افزار های تحت ویندوز دارد و امکان توسعه سریع نرم افزار هم یکی از مزایای web form  می باشد.
 
 
 

Asp.net mvc چیست؟

مخفف سه کلمه Model , View , Controller است و هرکدام از این اجزا کاربرد هایی دارند که ما برای شما عزیزان کاربرد هرکدام را شرح می دهیم.

 

Model

مدل در mvc  وظیفه ذخیره داده ها,تبدیل آنها به شی یا object و بازیابی آنها از بانک اطلاعاتی را برعهده دارد  و درواقع عملیات اصلی و منطقی را بر روی داده ها انجام می دهد.
درمعماری mvc اصلی ترین قسمت وکار اصلی را انجام می دهد model  می باشد.

 

 

View

 View یکی دیگر از اجزای mvc است و واسط کاربری یا UI برنامه را می سازد که این بخش با دو بخش دیگر یعنی همان model  و controller  ارتباط برقرار می کند و با ارتباط داشتن با این دوبخش می تواند نتایج عملیات را نشان دهد.
برای مثال:
وقتی که کاربر رمز عبور خود را وارد می کند این رمز عبور به بخش های دیگر فرستاده می شود و نتیجه ای از همان بخش ها گرفته شده به view فرستاده می شود تا view پیغام را به کاربر نمایش دهد.

 

 

Controller

درواقع کنترلر واسط بین model  و view می باشد.
وظیفه کنترل کردن درخواست ها و تعامل بین کاربران را برعهده دارد,کلیه درخواست هایی که ازسمت client   به سمت sever  منتقل می شود توسط Controller بررسی می شود.

 

چند ویژگی Asp.net mvc

1.اولین ویژگی mvc امکان افزایش سرعت و انعطاف تست برنامه است زیرا در mvc  بدون اینکه Controller را اجرا کنید می توانید آنها را تست کنید و به جای اینکه زمانی را صرف اجرای آن کنید می توانید درهمان لحظه آن را تست کنید.
 
2. Asp.net mvcاز فریم ورک های تزریقی هم پشتیبانی می کند.
حالا فریم ورک تزریقی چیست؟ به جای ساختن اشیاء از کلاس ها، آنها را از جایی بیرون از کد میگیرید و با این کار تست برنامه را آسان تر می کند.
 
3.یکی دیگر از ویژگی های Asp.net mvc اسکریپت درونی , صفحات مستر تو درتو و محلی سازی می باشد و می توانید ازآنها استفاده کنید.

 

تا اینجا با تعریف و ویژگی های Asp.net mvc آشنا شده ایم حالا می خواهیم بدانیم استفاده کردن از mvc  چه مزایای دارد؟
مجزا سازی بخش های مختلف نرم افزار
کنترل کامل بر روی خروجی های تولید شده HTML
امکان توسعه نرم افزار به صورت TTD
مدیریت بهینه URL ها
 یکپارچه سازی مناسب با فریم ورک های جاوا اسکریپت
امکان استفاده از View Engine های مختلف
عدم وجود View State و Post Back
استفاده از استانداردهای وب
قابلیت توسعه پذیری بالا
ایده آل برای سیستم های Web 2.0

 

نتیجه گیری:

انتخاب کردن هردو گزینه برای شما و گروه کاریتان می تواند مناسب می باشد.
اگر می خواهید روی خروجی های صفحات  خود مدیریت کامل داشته باشید و اگرمیخواهید توسعه نرم افزار به روش TDD داشته باشید و اینکه آدرس های تولید شده صفحات وب وبهینه سازی موتورهای جستوجو برای شما قابل اهمیت است.
شاید هم دنبال استفاده از فریم ورک های جاوا اسکریپت هستید به شما پیشنهاد می کنم که از ASP.NET MVC استفاده کنید.
 
 
 
اگر شما از ساختارهای نرم افزارهای تحت وب، استانداردهای وب و HTTP اطلاعاتی ندارید ، وهمچنین اگر می خواهید از کنترل های مختلف و توسعه نرم افزار به روش رویدادگرا استفاده کنید مطمئنا استفاده ازASP .NET MVC برای شما مناسب نمی باشد و بهتر است از ASP .NET Web Form استفاده کنید.

 


اشتراک گذاری

کلمات کلیدی :
asp.net mvc

توضیحاتی در مورد نویسنده این مقاله :
زهرا چگینی زهرا چگینی

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


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

گروه مقالات


آموزشی
21
علمی
20
تحقیقاتی
28


به دنبال هر آموزشی هستید در اینجا به دنبال آن باشید .