MVC چیست؟
معماری mvc یا این که به عبارتی model view controller که جدیداً بوسیله مایکروسافت در asp.net به عمل گرفتهشده است در واقع انقلابی در مسئله بهبود پروژه های ذیل اینترنت بود. جهت شناخت بیشتر با مزایای به کارگیری از این معماری در asp.net کافی میباشد تکنولوژی سابق خیس یعنی asp.net webforms را با آن مقایسه کنیم: طراحی سایت اختصاصی در asp.net webforms پیاده سازی با صرفه و ساختارمند و همینطور رعایت مسائل امنیتی بسیار بغرنجخیس گاهاً ناممکن بود. در حالی که با به کارگیری از معماری mvc اکثری از این مورد ها به سهولت اجرا می پذیرد.
در asp.net mvc انعطاف و امکان در اختیار گرفتن بسیار متعددی برای برنامه نویس ها مهیا میباشد به این دلیل که در تکنولوژی webforms در بیشتر مواقع برنامه نویس ها از دسته ای از ابزارهای مهیا گردیدهبه کارگیریمی کردند. البته در mvc هیچگونه ابزار و واسطی که ماهیتاً همپا با محدودیت میباشند نیست و برنامه نویس ها تماماً به طور دستی مبادرت به پیاده سازی و طراحی می نمایند .
در غایت باتوجه به حذف asp.net webforms در ورژن 6 net. استعمال از آن یک غلط تبارک به حساب میآید .
mvc یک معماری میباشد خیر یک تکنولوژی، براین اساس از ریسک آزاد میباشد و در آجل مانند asp.net webforms به تاریخ نخواهد پیوست .
اکنون دارای شهرت شو از واپسین ورژن معماری mvc در c# asp.net و موتور اکران razor که از سوی کمپانی مایکروسافت که از توانا ترین ها در موضوع اشکال علم ها رایانه ای میباشد، به کارگیری میکند. با اعتنا به اینکه visual basic asp.net بوسیله شرکتهای بسیار اندکی به کار گیری میشود و همینطور در ورژن 6 net. نیز حذف گردیده است در اینجا گزینه نظارت قرار نمی گیرد. قابل ذکر میباشد visual basic طبق نظارت های ایفا گرفته در واحد فنی هیچگاه در دارای شهرت شو آیتم استعمال قرار نگرفته میباشد.]
تاریخچه mvc:
معماری mvc در دهه 70 میلادی معرفی شد البته در آن مجال طراحی نرمافزار های stand alone با به کارگیری از این معماری چندان آیتم استقبال برنامه نویس ها قرار نگرفت. ولی با ظهور وب و نرمافزار های بر اساس اینترنت، این معماری شانس مجدد ای یافت. asp.net mvc قاب ورک بر طبق معماری mvc مایکروسافت است که از دلایل محبوبیت این معماری نظام بخشیدن به پروژه های ساخت سایت هست. معمولاً به انگیزه همیاری یکسری تکنولوژی گوناگون با هم در نرمافزار های بر اساس اینترنت ساختار پروژه های تبارک غامض میگردند و انجام تغییرات و همینطور رفع خطاهای پروژه خلل و وقت گیر می شوند که معماری mvc با جداسازی لایه های متفاوت اپلیکیشن نویسی تا حد متعددی این خلل را رفع نموده است.
از سایر مزایای این قاب ورک میتوان به در اختیار گرفتن بدون نقص بر روی html آخری، حفاظت از قاب ورک های متعدد برای unit testing ، در دست گرفتن بر روی نشانی های url و تعامل راحتتر با قاب ورک های javascript اشاره نمود.
مقایسه asp.net mvc با php symfony
باتوجه به اینکه شرکتهای متعددی نیز وجود دارا هستند که از php استعمال میکنند، به مقایسه asp.net و php در دو معماری شبیه بر طبق کلیدی ترین فاکتور ها میپردازیم:
سرعت
در مقایسه های گوناگون انجام یافته و طبق نظارت ساختار این دو، php برای پروژه های میانگین به ذیل سرعت بیشتری دارااست البته برای پروژه های میانگین و روبه بالا سرعت asp.net بیشتر میباشد. قابل ذکر میباشد مدام پروژه ها در اکنون رویش و بزرگتر شدن می باشند بدین ترتیب در غایت بایستی آجل را گزینه اعتنا قرار بخشید. در بخش اعظمی مورد ها کانال اجتماعی facebook که با php ایفا گردیدهاست جهت نمونه پروژه های گرانقدر ذکر میگردد البته قابل ذکر میباشد در facebook از ورژن تغییرو تحول یافته php و همینطور کامپایلری متعدد مستعمل میباشد. به این ترتیب این نمونه درست وجود ندارد. برای asp.net در این مورد میتوان کانال اجتماعی myspace را نمونه زد.
امنیت
باتوجه به اینکه php به طور متن گشوده میباشد به این ترتیب یافتن نقاط ضعف در آن بسیار راحت بوده و بیشتر در معرض جراحت میباشد. از طرفی دیگر با سپری شد فرصت مطلقاً در ورژن های متفاوت php و asp.net ضعف های امنیتی آشکار میگردد. این در حالی میباشد که با اعتنا به اینکه asp از net. به کار گیری می نماید. که به طور جداگانه بر روی سیستم برهان ویندوز وجود داراست و همگام با بروز رسانی اتوماتیک ویندوز ورژن net. نیز بروز میشود و در سود ضعف های شناخته گردیده نیزخودکار برطرف می شوند ولی در php باید به طور دستی این بروز رسانی اعمال شود و افزون بر آن معمولاً نیاز به تغییراتی جهت سازش با بروز رسانی های تازه میباشد ولی در net. نیازی به اعمال تغییرات وجود ندارد و به طور خود کار اجرا میگردد. این امکان با اسم backward compatibility شناخته شدهاست.
ساختار
در asp.net به تحمیل پیاده سازی شیء گرا خواهد بود البته در php ممکن میباشد پیاده سازی شیء گرا آیتم به کارگیری قرار نگیرد و در سود ساختاری مستحکم در لحاظ گرفته نشود.
مزایای استعمال از mvc:
سرعت
با تقسیم یک اپلیکیشن به سه نصیب سبک، نمایشگر و کنترلگر، رئیس نرمافزار یا این که پروژه آسانتر میگردد.
از viewstate و هیبت های سروری استعمال نمی نماید . به همین خیال و خاطر برای نرمافزار نویسانی که اشراف بی نقص بر خلق و خوی نرمافزار را میخواهند بهتر میباشد.
از الگوی کنترلگر جلو استعمال میکند که درخواست های اپلیکیشن را به وسیله یک کنترلگر پردازش میکند. این زمینه منجر میگردد تا بتوانیم نرم افزار هایی را پیاده سازی کنیم که از ذیل تشکیل داد های بی نیاز مسیریابی امان میکند.
مدد بهتری از پیاده سازی و گسترش امتحان شالوده دارااست.
برای نرمافزار های جانبداری گردیده به وسیله گروه های گران قدر برنامه نویس ها که در اختیار گرفتن بسیار بر خلق و خوی نرمافزار را میخواهند، عالی شغل میکنند.
امنیت
باتوجه به اینکه php به طور متن گشوده میباشد به این ترتیب یافتن نقاط ضعف در آن بسیار آسوده بوده و بیشتر در معرض جراحت میباشد. از طرفی دیگر با سپری شد فرصت حتماً در ورژن های متفاوت php و asp.net ضعف های امنیتی آشکار می شود و این در حالی میباشد که با اعتنا به اینکه asp از net. به کارگیری می نماید. که به طور غیر وابسته بر روی سیستم برهان ویندوز وجود داراست و همگام با بروز رسانی اتومات ویندوز ورژن net. نیز بروز میشود و در سود ضعف های شناختهگردیده نیزخودکار برطرف میشوند. ولی در php بایستی به طور دستی این بروز رسانی اعمال خواهد شد و افزون بر آن معمولاً نیاز به تغییراتی جهت سازش با بروز رسانی های تازه میباشد. ولی در net. نیازی به اعمال تغییرات وجود ندارد و به طور اتومات اعمال میشود. این قابلیت و امکان با اسم backward compatibility شناختهشده است.
ساختار
در asp.net به تحمیل پیاده سازی شیء گرا خواهد بود البته در php ممکن میباشد پیاده سازی شیء گرا آیتم به کارگیری قرار نگیرد و در فیض ساختاری مستحکم در لحاظ گرفتهنشود.
مزایای به کار گیری از mvc :
– با تقسیم یک اپلیکیشن به سه بخش سبک، نمایشگر و کنترلگر، رئیس اپ یا این که پروژه آسانتر می گردد.
– از viewstate و هیبت های سروری به کارگیری نمی نماید . به همین خیال و خاطر برای اپلیکیشن نویسانی که اشراف بدون نقص بر اخلاق نرمافزار را میخواهند بهتر میباشد.
– از الگوی کنترلگر جلو به کارگیری میکند که درخواست های اپلیکیشن را به وسیله یک کنترلگر پردازش میکند. این قضیه سبب میگردد تا بتوانیم نرمافزار هایی را پیاده سازی کنیم که از پایین ایجاد کرد های بی نیاز مسیریابی حفاظت میکند.
– امان بهتری از پیاده سازی و پیشرفت امتحان پایه داراست.
– برای نرمافزار های مدد گردیده بوسیله گروه های تبارک برنامه نویس ها که در دست گرفتن بسیار بر اخلاق اپ را میخواهند، عالی شغل مینمایند.