آموزش و معرفی MVC

mvc

آموزش و معرفی MVC

 

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

نیاز روز افزون به کامپیوتر و مکانیزه کردن و سپردن تقریبی تمامی امور به دست ماشین امری است که انکار ناشدنی است . در این بین تولید کنندگان نرم افزار نیز تلاش میکنند تا نرم افزاری تولید کنند تا بتواند اکثر نیاز های متقاضیان را به بهترین نحو ممکن تامین کند ودر همین راستا در تلاش هستند که روند تولید نرم افزار را به سمتی بکشانند که ساختار استاندارد و تائید شده ای داشته باشد.

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

  1. قابل حمل بودن
  2. قابل استفاده مجدد بودن
  3. قابل تغییر بودن
  4. بهینه بودن از لحاط حافظه و زمان (زمان مهمتر از حافظه)
  5. و……

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

راه حل :
همانطور که گفته شد یکی از خصوصیات نرم افزار خوب قابل تغییر بودن آن میباشد. فرض کنید که برنامه را به این شکل طراحی کردید:

همانطور که در شکل نیز نشان داده شده است تمامی اعمال اععم از دریافت داده ها که مهمترین بخش است و همچنین پردازش آن ها همگی در یک فرم طراحی و پیاده سازی شده اند . و دقیقا مشکل همین جا نمایان میشود . ارتباط مستقیم با منبع داده بر قرار کردن جدا از اینکه مشکلات امنیتی دارد که بحث در مورد ان خارج از این مقال است ، باعث میشود که دست برنامه نویس را برای تغییرات آتی دربرنامه ببندد. چون داده ها درون خود فرم از منبع داده و به صورت مستقیم خوانده میشود پس دسترسی به داده های خواتده شده وجود ندارد . یا حداقل متحمل سربار زیادی می باشد.
راه کار های نوین:
یکی از راه کار هایی که امروزه بیشتر شاهد استفاده ان هستیم ، تولید نرم افزار بر اساس ساختار های لایه ای می باشد ، بدین صورت که کل نر افزار به تعداد لایه هایی تقسیم میشوند ، هر لایه وظیفه خاص خود را دارد و لایه ها از نتایج لایه های دیگر استفاده میکنند.
تعداد این لایه ها بسته به نرم افزار و طراحی میتواند ۲ ، ۳ ، ۴ یا ۵ لایه یا حتی بیشتر باشد . اما استاندارد ان که بیشتر از بقیه هم استفاده میشود ۳ لایه هست و به روشی که بر اساس این تئوری پیاده سازی میشود اصطلاحا ۳ Tire Programming گفته میشود.
در تئوری ۳ لایه ، لایه ها عبارتند از

  1. Data Access layer
  2. Business Logic Layer
  3. Presentation Layer

توضیحات بیشتر و نحوه پیاده سازی روش فوق را به عهده خود خواننده میگذارم .

پس از مقدمه ای مختصر وارد بحث اصلی یعنی MVC (Model View Controller ) می شویم .
ASP.NET MVC فریم ورک قدرتمندی برای ایجاد اپلیکیشن های تحت وب است که از الگوی MVC استفاده می کند و توسط مایکروسافت به صورت اوپن سورس توسعه داده می شود. MVC یک الگوی طراحی و مخفف کلمات Model-View-Controller است. فریم ورک ASP.NET MVC الگوی طراحی MVC را در پلت فرم وب اپلیکیشن مایکروسافت یعنی ASP.NET پیاده سازی می کند. این فریم ورک اولین بار در دسامبر ۲۰۰۷ و با یک نسخه CTP توسط مایکروسافت معرفی شد. در مارس ۲۰۰۹ نسخه ۱ پایدار آن عرضه شد و یک ماه بعد یعنی در آپریل ۲۰۰۹ شرکت مایکروسافت سورس کد فریم ورک ASP.NET MVC را تحت مجوز MS-PL منتشر نمود.

MVC چیست!؟

مفهوم کلیدی این فریم ورک همان سه حرف آخر آن یعنی MVC است. پس کمی در مورد آن توضیح می دهم. همانطور که گفتم، MVC یک الگوی طراحی است که همانطور که از نامش پیداست، یک پروژه نرم افزاری را به سه قسمت منطقی Model, View و Controller تقسیم می کند. شاید شما در حال حاضر با معماری ۳ لایه نرم افزاری آشنا باشید. اگر اینطور است، شما مشکلی در درک الگوی طراحی MVC نخواهید داشت. MVC مفهوم جدیدی نیست، خیلی وقت است که در جاوا، رابی، PHP و بسیاری پلت فرم های دیگر از این الگو برای طراحی نرم افزار استفاده می شده است. اما خب برای توسعه دهندگان ASP.NET تازه است. سه قسمت اصلی الگوی MVC :

  • Model : مدل قسمتی از یک اپلیکیشن است که وظایف سنگین دسترسی به داده ها، پیاده سازی منطق و موجودیت ها را بر عهده دارد. به طور معمول یک مدل وظیفه Map کردن جداول اطلاعاتی یک دیتابیس را به کلاس های شیء گرا و برعکس را بر عهده می گیرد. احتمالاً شما همین الان هم در پروژه های خود، مدل را پیاده سازی می کنید و به آن لایه دسترسی به داده می گویید! Model باید طوری پیاده سازی شود که به هیچ وجه به رابط کاربری وابستگی نداشته باشد.
  • View : احتمالاً کاربرد View را حدس زده اید! رابط کاربری همان View است. در واقع بخشی که یک کاربر نهایی با آن تعامل خواهد داشت و اطلاعات را نمایش می دهد، View نام دارد. همانطور که رابط کاربری برای Model هیچ اهمیتی ندارد، اینکه چطور داده ها اعتبارسنجی یا ذخیره می شوند یا منطق اپلیکیشن شما چطور پیاده سازی شده است، برای View مهم نیست.
  • Controller : فضای خالی میان Model و View را Controller پر می کند. از آنجا که Model و View هیچ ارتباطی با هم ندارند و برای یکدیگر هیچ اهمیتی قائل نیستند، Controller داده ها را از Model به View برای نمایش به کاربر انتقال می دهد. کنترلرها تصمیم می گیرند که اطلاعاتی که شما وارد کرده اید را به کجا برسانند و همینطور چه چیزی را باید در خروجی مشاهده کنید. در واقع کنترل کننده و هماهنگ کننده میان Model و View است.

فقط به این نکته توجه داشته باشید که در یک اپلیکیشن MVC کامپوننت View فقط جهت نمایش خروجی به کاربر مورد استفاده قرار می گیرد و این Controller است که ورودی ها را از کاربر می گیرد و به آن ها پاسخ می دهد.

حال ببینیم توضیحاتی که در مورد روند کلی یک برنامه که بر اسا س معماری MVC نوشته میشود در قالب یک نمودار به چه شکلی خواهد بود. نمودار را قدم به قدم رسم میکنم و ابندا از ساده ترین نمودار شرو ع خواه کرد. گفتیم که معماری MVC بر اساس سه بحش یا سه لایه Modelو View و Controller بنا میشود . و همه چیز تحت نظر این سه لایه باید انجام شود.

حال اقدام به برقراری ارتباط بین این سه بخش (لایه) بر اساس توضیحاتی که دادم میکنم.
خیلی از مقاله ها شروع معماری را از بخش کنترلر میدانند در واقع دست هم میگویند چون در نهایت بخش کنترلر است وظیفه handle کردن ابزار های مختلف مثل موس و .. را دارد. پس میتوان نمودار فوق را به شکل زیر کامل کرد:

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

توضیحات شکل بر اساس روند جریان برنامه:
مرحله ۱) در این مرحله درخواست ها از سمت کاربر نهایی به ویو فرستاده میشود . پس جهت جریان اطالاعات در این مرحله از سمت End user به سمت View می باشد.
مرحله ۲ ) در این مرحله کاربر درخواست خود را از طریق بخش View اعمال میکند .همانطور که گفته شد ویو مسئولیتی در قبال داده های وارد شده معمولا ندارد ،پس در خواست کاربر را به بخش کنترلر می فرستد. همچنین در همین مرحله ویو خودش را register می نماید تا بتداند اطلاعات جدید را دریافت نماید .جهت حرکت در قسمت ۱ از سمت View به سمت Controller میباشد.
مرحله ۳) پس از اینکه در خواست کاربر از View به Controller رسید و Controller بخش View را رجیستر کرد ، درخواست را به مدل داده و از مدل میخواهد که بر اساس درخواست کاربر به حالت جدید رفته و خود را به روز نماید. جهت جریان اطلاعات در این مرحله از سمت Controller به سمت Model میباشد.
مرحله ۴) پس از اینکه مدل به درخواست ها رسیدگی کرد ، و به حالت جدید رفت این رفتار را به کنترلر پیغام میدهد . (همچنین اگر خطایی در این بین اتفاق بیفتد نیز کنترلر مطلع و به طبع آن در مرحله بعدی ویو نیز مطلع میگردد) .جهت جریان اطلاعات در این مرحله از سمت Model به سمت Controller میباشد.
مرحله ۵) در این مرحله ، کنترلر موظف است که پیغامی به ویو بفرستد مبنی براینکه مدل تغییر کرده و به حالت جدید رفته است . این تغییر حالت الزاما دریافت داده های جدید از دیتا بیس و … نیست بلکه هر نوع تغییری میتواند باشد ، مثلا یک Exception رخ داده است و … جهت جریان اطلاعات در این مرحله از سمت Controller به سمت View می باشد.
مرحله ۶) در این مرحله ویو موظف است اطلاعات جدید و حالت جدید مدل را از مدل تقا ضا کند . جهت جریان اطلاعات در این مرحله از سمت View به سمت Model می باشد.
مرحله ۷) در این مرحله اطلاعات تغییر یافته و به طور کلی حالت جدید مدل (Model State) به ویو اطلاعا داده میشود. جهت جریان اطلاعات در این مرحله از سمت Model به سمت View میباشد.
مرحله ۸) اطلاعات و تغییرات جدید سیستم که بر اساس در خواست مدل ایحاد گردیده به کاربر نهایی نشان داده میشود . باز هم الزامی نیست که حتما داده های جدید به کاربر نشان داده شوند ، این اطلاعات حتی میتواند یک پیغام مبنی بر اینکه یک Exception رخ داده است باشد. جهت جریان اطلاعات در این مرحله از سمت View به سمت End User است.

چرا از ASP.NET MVC استفاده کنیم؟

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

یکی از مزایای مهم استفاده از متدولوژِی ASP.NET MVC این است که شما را مجبور می کند تا یک جداسازی شفاف میان اجزای برنامه خود ایجاد کنید. این کار باعث می شود که توسعه پروژه در دراز مدت و آزمایش آن به آسانی انجام گیرد. الگوی MVC به شما کمک می کند تا بتوانید از Test Driven Development یا TDD در پروژه خود استفاده کنید. شما را قادر می سازد تا از تست واحد یا Unit Test استفاده کنید. به طور مثال شما می توانید عملکرد یک Controller را بدون اینکه روی ASP.NET اجرا شود، بررسی کنید که این کار عملیات تست واحد را سرعت می بخشد. برای انجام تست، می توانید از هر فریم ورک تست واحدی مثل NUnit استفاده کنید.

URLهای ایجاد شده در یک پروژه مبتنی بر فریم ورک ASP.NET MVC بسیار بسیار واضح هستند و البته برای موتورهای جستجوگر دوستانه (SEO Friendly) هستند. این کار را کامپوننت URL Mapping فریم ورک ASP.NET MVC برای شما انجام می دهد. URLهایی که نیازی به داشتن پسوند aspx یا هر پسوند دیگری ندارند و به آسانی از قوانین SEO و الگوهای نام گذاری REST پشتیبانی می کنند.

نکته ای که شما را خوشحال خواهد کرد این است که فریم ورک ASP.NET MVC از بسیاری از امکاناتی که در حال حاضر در ASP.NET هستند مثل MasterPage, Data Binding, Form/Windows Authorization, Membership/Roles, Data Caching, Session/Profile state management, Health Monitoring پشتیبانی کامل می کند.
نکته ای هم که ممکن است شما را اذیت کند این است که در فریم ورک ASP.NET MVC از برنامه نویسی مبتنی بر رویداد خبری نیست و همچنین نمی توانید از Post Back برای تعامل دوباره با سرور استفاده کنید. ASP.NET MVC برخلاف وب فرم ها که به صورت خودکار و با استفاده از ViewState حالت یک صفحه وب را به صورت مصنوعی حفظ می کنند، از مدل طبیعی بی حالت (=Stateless) وب پیروی می کند. البته این موضوع آنقدرها هم بد نیست چون باعث حذف ViewState می شود و حذف ViewState هم به معنی صفحات سبک تر و در نتیجه لود شدن سریعتر صفحات وب است.

برای شروع ASP.NET MVC به چه چیزهایی احتیاج دارید!؟

ASP.net MVC 2.0

مهمترین بهبودی که در این نسخه شاهد هستیم مربوط به اعتبار سنجی طرف کلاینت یا Client Validation است. به طور مثال اسکریپت های اعتبارسنجی برای جلوگیری از تداخل با دیگر کتابخانه های آیجکسی در فایل های جداگانه ی جاوا اسکریپت قرار می گیرند. این اسکریپت های اعتبارسنجی از Globalization نیز پشتیبانی می کنند. متد Html.ValidationSummary نیز مدل دیگری از نمایش خطاهای اعتبارسنجی را ارائه خواهد کرد.
از زمانی که فریم ورک ASP.NET MVC از طرف مایکروسافت ارائه شده، توسعه دهندگانی که از ASP.NET WebForms استفاده می کردند بر سر دوراهی قرار گرفتند. هر چند از ابتدا هم ASP.NET MVC برای از بین بردن وب فرم ها بوجود نیامده بود اما اکنون با پیشرفت ASP.NET MVC برخی ها بر این باورند که در آینده ای نه چندان دور وب فرم ها نیز مانند ASP کلاسیک از بین خواهد رفت و ASP.NET MVC جایگزین آن خواهد شد.

 

معماری MVC 1، برای اولین‌بار در سال ۱۹۷۸ توسط Trygve Reenskaug دانشمند نروژی علوم رایانه، تحت زبان برنامه‌نویسی اسمال‌تاک در مرکز پژوهش زیراکس پالوآلتو۲ مطرح شد. نخستین شرح پیاده‌سازی MVC تحت مقاله‌ای مشهور با عنوان «برنامه‌نویسی کاربردی در اسمال‌تاک-۸۰: چگونه MVC رابه‌کار بریم؟» در دسامبر ۱۹۷۹ منتشر شد. این معماری تقریبا در تمام زبان‌های برنامه‌نویسی مانند: ColdFusion، Java، JavaScript،Perl، PHP، Python، Ruby، SmallTalk، XML و NET. پیاده‌سازی شده است.

مزایای WebForms از دید مایکروسافت در سال ۲۰۰۲:
مایکروسافت در ابتدای عرضه ASP.net WebForms مزایای آنرا بدین شرح اعلام کرده بود، مزایایی که در حال حاضر بعضی هایشان از معایب WebForms است، از جمله ViewState:

  1. یک فناوری بالغ است.
  2. امکان توسعه بسیار مناسب RAD را فراهم می‌آورد.
  3. از طراحی WYSIWYG در ویژوال استودیو پشتیبانی می‌کند.
  4. وضعیت را به‌آسان مدیریت می‌کند.
  5. امکان استفاده از کنترل‌های قوی که توسط مایکروسافت و شرکت‌های دیگر ارایه می‌شود.
  6. نیازی اندک به دانش
  7. از ViewState و PostBack پشتیبانی می‌کند.
  8. به محیط‌های توسعه تحت وب شباهت دارد.

معایب WebForms:

  1. اولین ضعف این روش این است که دست برنامه نویس و طراح در ایجاد رابط های کاربری ابدائی کاملا بسته است و برنامه نویس ناگزیر است با Interface از پیش تعیین شده .Net کار کند.
  2. دومین ضعف ASP.Net Webforms یک موجودی است به نام Viewstate. از روی اسمش معلوم است که کار Viewstate چیست. کارش نگهداری آخرین state کاربر هنگام Post Back شدن صفحه است. همان طور که گفتم کنترل Request ها و Response ها از دست برنامه نویس خارج شده و خود ASP.Net Webforms نیز ارتباط بین صفحات ارسالی از سوی سرور را با Viewstate برقرار میکند. متاسفانه Viewstate که معمولا حجم بالایی دارد هر بار هنگام Response همراه محتوای صفحه به سمت کاربر ارسال می شود و هنگام ارسال Request بعدی به سمت سرور ارسال می شود. و این صفحات را بسیار سنگین تر می کند. البته می شود حجم Viewstate را با چند کار ساده کنترل کرد که برنامه نویس ها به علت تنبلی زیاد و یا عدم اطلاع از این تکنیک ها مرتب درگیر این مشکل هستند.
  3. در برنامه های ساخته شده با Web Forms خبری از Pretty URLs نیست که بسیار مورد توجه و علاقه موتور جستجو ها است.

اما با معرفی و کاربرد MVC در زبانهای دیگر مانند PHP مایکروسافت نیز به فکر افتاد فریمورکی بر مبنای MVC برای ASP.net ارائه دهد. در نهایت این فریمورک با Visual Studio 2008 عرضه گردید و مورد توجه ASP.net بازها قرار گرفت.

MVC:

معماری MVC 1، برای اولین‌بار در سال ۱۹۷۸ توسط Trygve Reenskaug دانشمند نروژی علوم رایانه، تحت زبان برنامه‌نویسی اسمال‌تاک در مرکز پژوهش زیراکس پالوآلتو۲ مطرح شد. نخستین شرح پیاده‌سازی MVC تحت مقاله‌ای مشهور با عنوان «برنامه‌نویسی کاربردی در اسمال‌تاک-۸۰: چگونه MVC رابه‌کار بریم؟» در دسامبر ۱۹۷۹ منتشر شد. این معماری تقریبا در تمام زبان‌های برنامه‌نویسی مانند: ColdFusion، Java، JavaScript،Perl،PHP، Python، Ruby، SmallTalk، XML و NET. پیاده‌سازی شده است.

ASP.NET MVC
یک فریم ورک کاملاً جدید برای ساختن اپلیکیشن های ASP.NET است که با هدف جداسازی شفاف لایه های برنامه و قابلیت تست پذیری بالا بوجود آمده است. برنامه نویسان دات نت با استفاده از ASP.NET MVC می توانند رفتار Stateless وب را درک کنند و بر روی کدهای HTML خروجی صفحات خود کنترل کامل داشته باشند. در فریم ورک ASP.NET MVC بر خلاف ASP.NET WebFroms آدرس های صفحات وب سایت به فایل های فیزیکی aspx وابسته نیستند. در این مطلب اشاره ای کوتاه خواهیم داشت به مزیت های کلی ASP.NET MVC نسبت به ASP.NET WebForms :

۱) Separation of Concern : فریم ورک ASP.NET MVC شما را مجبور می کند تا یک جداسازی شفاف از قسمت های مهم اپلیکیشن خود داشته باشید. شما باید کدهای مربوط به دسترسی به داده ها را در قسمت Model و کدهای مربوط به رابط کاربری را در قسمت View بنویسید و برای ایجاد ارتباط میان این دو لایه از Controllerها استفاده کنید. با این جداسازی شفاف، پیچیدگی های پروژه کمتر شده و نگهداری پروژه در درازمدت و انجام تغییرات بر روی آن آسان تر می شود.
۲) کنترل کامل بر روی HTML خروجی : با استفاده از ASP.NET MVC شما می توانید درخواست های کاربر را پردازش کنید و خروجی مناسب HTML را به مرورگر بفرستید. کدهای HTML خروجی شما کاملاً تمیز هستند و از کدهای عجیب و غریبی که ASP.NET WebForms برای شما ایجاد می کند خبری نیست!
۳) ایجاد URLهای RESTful : با کامپوننت های URL Mapping در این فریم ورک می توانید URLهایی بدون پسوند، واضح و قابل جستجو بسازید. این URLها از قوانین نام گذاری REST پشتیبانی می کنند و از نظر SEO در موتورهای جستجوگر امتیاز خوبی می گیرند.
۴) قابلیت تست پذیری : یکی از اهداف مهم طراحی فریم ورک ASP.NET MVC قابلیت تست پذیری بوده است. به علت جدا سازی شفاف میان کدهای منطق برنامه و کدهای مربوط به رابط کاربری، تست کردن اجزای مختلف وب اپلیکیشن های ASP.NET MVC آسان است. ASP.NET MVC با تمام فریم ورک های Testing که برای دات نت ساخته شده اند کار می کند.
۵) عدم استفاده از PostBack و ViewState : در ASP.NET MVC خبری از فرم های تحت سرور (یا همان runat=”server” معروف) نیست. شما رویدادی به نام PostBack ندارید و حالت کنترل های شما با استفاده از ViewState حفظ نخواهد شد! این یک مزیت است زیرا باعث ایجاد خروجی واضح تر و صفحات سبک تر می شود.
۶) آسان تر کردن کار تیمی : به علت جداسازی واضح میان قسمت های مختلف پروژه و قابلیت تست آسان، کار کردن به صورت تیمی را آسان تر می کند. هر یک از اعضای تیم بر اساس نوع تخصص خودشان می توانند قسمت هایی از پروژه (Model یا View) را طراحی کنند و با استفاده از Controllerها ارتباط میان لایه ها را بسازند.
۷) اجبار در کدنویسی مبتنی بر الگوی طراحی : ASP.NET MVC توسعه دهندگان را مجبور به رعایت الگوی طراحی MVC می کند. این اجبار باعث ایجاد یک وب اپلیکیشن با ساختار استاندارد می شود که نگهداری و توسعه آن در دراز مدت آسان خواهد بود.
۸ ) کدباز بودن : سورس کد فریم ورک ASP.NET MVC با مجوز Ms-pl که یک مجوز اوپن سورس از شرکت مایکروسافت است، منتشر می شود. کدباز بودن این فریم ورک باعث شده تا شرکت مایکروسافت فیدبک های دقیق تر و سودمندتری از جامعه توسعه دهندگان ASP.NET دریافت کند ودر نتیجه باعث پیشرفت سریعتر آن شده است.
۹) سرعت بیشتر در بارگذاری صفحات : همانطور که اشاره شده، با حذف کنترل های تحت سرور، PostBack و ViewState که باعث ایجاد کدهای اضافی جاوا اسکریپت می شود، سرعت لود صفحات وب در ASP.NET MVC به مراتب بیشتر از وب فرم هاست.

 

 

درباره نویسنده

طراح وب سایت

مطالب مرتبط

نظر بدهید