ebook-cover-8

تکنولوژی MVC

MVC از سه کلمه Model , View   Controller , مشتق شده است. در واقع MVC یک الگو برای طراحی web Apllication در فریم ورک .NET استفاده می شود. هر یک از بخشهای  Model , View   Controller , دارای تعاریف و عملکرد مختص خود را دارند.

Model : این قسمت در واقع هسته web Apllication  به حساب می آید. عملیاتی که در این بخش انجام می شود شامل ارتباط با دیتابیس ,عملیات واکشی اطلاعات از دیتابیس , تعریف و پیاده سازی منطق برنامه می باشد.

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

Controller : در واقع Controller بقیه کارها رو انجام میده. اینکه چه درخواستی از کاربر رسیده، چه درخواستی از Model باید بشه، اطلاعات گرفته شده از Model چطور باید پردازش بشه، چه Viewای باید انتخاب بشه و چه اطلاعاتی به View باید ارسال بشه  این قسمت در واقع رابط بین View ,Model می باشد

مزایای برنامه های وبی مبتنی بر MVC
- با تقسیم یک برنامه به سه قسمت مدل، نمایشگر و کنترلگر، مدیریت برنامه یا پروژه را ساده تر می کند.
- از ViewState و فرم های سروری استفاده نمی کند و از این نظر برای برنامه نویسانی که تسلط کامل بر رفتار برنامه را می خواهند عالی است.
- از الگوی کنترلگر جلو استفاده می کند که درخواست های برنامه را توسط یک کنترلگر پردازش می کند. این مسئله باعث می شود تا بتوانیم برنامه هایی را طراحی کنیم که از زیر ساخت های غنی مسیر یابی پشتیبانی می کند.
- پشتیبانی بهتری از طراحی و توسعه آزمون محور دارد.
- برای برنامه های پشتیبانی شده توسط تیم های بزرگ برنامه نویسان  که کنترل بسیار بر رفتار برنامه را می خواهند، بهتر کار می کنند.

ویژگی های ASP.NET MVC

- جداسازی وظایف برنماه کاربردی (منطق ورودی، منطق کاری و منطق واسط کاربری) و امکان تست کردن برنامه و طراحی و توسعه آزمون محور به صورت پیش فرض. تمام ارتباطات اصلی در MVC بر مبنای واسط است و می توان آن ها را با اشیای ساختگی Mick تست کرد. می توانید کنترلگرها را بدون اینکه آنها را در ASP.NET اجرا کنید، تست کنید و این باعث افزایش سرعت و انعطاف تست برنامه می شود. می توانید از هر فریم ورک تست که با فریم ورک Net. منطبق است برای این کار استفاده کنید.

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

- نگاشت های قوی آدرس ها که امکان ساخت برنامه هایی با آدرس های با معنی و جستجو شدنی (قابل جستجو توسط موتورهای جستجوگر) را می دهدو نیازی نیست که آدرس ها پسوند فایل داشته باشند، آنها به گونه ای طراحی شده اند که از الگوهای نامگذاری قابل فهم برای موتورهای جستجوSEO و آدرس های انتقال وضعیت قابل نمایش REST پیروی کنند.

- پشتیبانی برای استفاده از نشانه گذاری در صفحات ASP.NET(فایل های aspx). کنترل های کاربر (فایل های ascx.) صفحات Master(با پسوند master.) به عنوان قالب های نمایشگر. شما می توانید از برخی ویژگی های موجودASP.NET از قبیل صفحات master تو در تو، اسکریپت درونی (<%=%>)، کنترل های سرور اعلان شده، قالب، انقیاد داده ها، محلی سازی و در فریم ورک ASP.NET MVC استفاده کنید.

- پشتیبانی از ویژکی های موجود ASP.NET : ASP.NET MVC به ما این امکان را می دهد تا از ویژگی هایی مانند مجوز فرم و تشخیص هویت ویندوز، مجوز آدرس ها، عضویت و نقش ها، خروجی و کش کردن داده ها و Session و مدیریت وضعیت پروفایل، مانیتور کردن صحیح، سیستم پیکر بندی و معماری عرضه کننده استفاده کنید.

منابع :

www.asp.net/mvc/tutorials/asp-net-mvc-overview-cs