معرفی ASP.NET MVC

در این پست از وب سایت آکادمی برنامه نویسان به معرفی ASP NET MVC خواهیم پرداخت و خواهیم گفت  ASP.NET MVC چیست و چه کاربردی هایی دارد .

معرفی ASP NET MVC

Model-View-Controller یا MVC الگویی است که یک برنامه کاربردی را به سه بخش اصلی زیر تفکیک می کند :

  1. Model
  2. View
  3. Controller

چهار چوب ASP.NET MVC یک جایگزین ASP.NET Web Form ها برای ساخت برنامه های تحت وب است. چهار چوب ASP.NET MVC سبک بوده و قابلیت تست پذیری بالایی دارد و همچنین یکسری از ویژگی های ASP.NET Form  را مانند master page ها ، سیستم های احراز هویت داراست. فریمورک MVC  در اسمبلی System.Web.Mvc تعریف شده است و کنترل کاملی برروی JavaScript،HTML و CSS دارد. همچنین استفاده از آن برای ساخت برنامه های با مقیاس بزرگ که تیم های مختلفی برروی آن کار می کنند پیشنهاد می شود.

الگوی طراحی MVC

معرفی asp net mvc

مزایای یک برنامه تحت وب  MVC

فریمورک ASP.NET MVC دارای مزایای زیر است :

    • مدیریت ساده  پیچیدگی ها  به وسیله تقسیم کردن برنامه به قسمت های Model ، View و Controller
    • عدم استفاده از view state و فرم های سروری
    • کنترل کامل برروی HTML، JavaScripts و CSS
    • پشتیبانی بهتر از آزمون TTD
    • به خوبی برای پروژه هایی که به وسیله تیم های بزرگ پشتیبانی می شود کار می کند و همچنین مناسب برای طراحان وبی است که نیاز زیادی به کنترل کامل برروی رفتار های برنامه دارند.
    • به صورت پیش فرض از احراز هویت Facebook  و google  پشتیبانی می کند.
  • مدیریت ساده برنامه های بزرگ به وسیله تقسیم بندی آنها با Area ها.

فضاهای نام  ASP.NET MVC

    • System.Web.Mvc
      شامل کلاس ها و اینترفیس هایی است که به وسیله الگوی MVC در ASP.NET  پشتیبانی می شود.این فضای نام شامل کلاس هایی مانند controller ها ، action result ها، view ها ،  partial view ها ، model binder هاست.
    • System.Web.Mvc.Ajax
      شامل کلاس هایی است که اسکریپت های Ajax  را  در یک برنامه ASP.NET MVC پشتیبانی می کند.
    • System.Web.Mvc.Async
      شامل کلاس ها و اینترفیس هایی جهت پشتیبانی یک برنامه MVC  از  اعمال غیرهم زمان .
  • System.Web.Mvc.Html
    شامل کلاس هایی است که کمک  به رندر کردن کنترل های HTML  در یک برنامه MVC  می کند. کلاس های موجود در این فضای نام پشتیبانی میکنند از فرم ها ، کنترل های ورودی ، لینک ها ،partial view ها و اعتبار سنجی.

تفاوت های بین ASP.NET MVC  و Web Form ها

در این قسمت معرفی ASP NET MVC به تفاوت های بین ASP.NET MVC  و Web Form ها خواهیم پرداخت :

[table id=2 /]

ساختار برنامه ASP.NET MVC

ساختار یک برنامه ASP.NET MVC حداقل به سه پوشه View ، Model  و Controller تقسیم می شود همچنین پوشه های دیگری برای نگهداری فایل های اسکریپت و داده و موارد دیگر وجود دارد.

 ASP.NET MVC چیست

    1. Model
      ازمدل برای نگهداری داده کلاس های  ایجاد شده به وسیله Linq to SQL  یا  Entity Framework ، و یا ارجاع به سرویس هایی مانند WCF  استفاده می شود . در نهایت استفاده  از مدل برای ارائه داده ها به View است.
    1. View
      پوشه View برای نگهداری View ها و یا Patial View ها استفاده می شود هر View  عمل خاصی را بر اساس آنچه کلاس کنترلر به آن محول کرده انجام می دهند. معمولا پوشه View  شامل پوشه ای با نام Shared می شود که صفحات و یوزر کنترل هایی که به وسیله بیشتر کنترلر ها استفاده می شود در آن قرار دارد.
  1. Controller
    پوشه کنترلر مجموعه ای از کلاس ها را شامل می شود که هر کلاس فرزند  System.Web.Mvc.Controller است.یک کلاس کنترلر تنها شامل متد ها یی می شود که به آنها متدهای Action  گفته می شود. متدهای Action  مسئول برگرداندن یک Patial View , View ، محتوا ، داده Json  و موارد دیگر است.

اکشن ها

اکشن ها برای نوشتن کدها برای انجام کاری خاص استفاده می شوند همچنین مسئولیت بازگشت دادن مواردی برای کاربر مانند یک صفحه ویا یوزر کنترل را بر عهده دارند. هر اکشن  شامل یکی از دو نوع در خواست HTTP  زیر می شود:

    1. [HttpGet] اکشن ها ی HttpGet برای اجرای درخواست هایی که مستقیما از کاربر می رسد و یا به عبارتی درخواست ها برای اولین بار  به وسیله متد اکشن دریافت می شود.
  1.  [HttpPost]
    اکشن های [HttpPost] تنها زمانی فراخوانی می شوند که قبلا در سمت کاربری بازدید شده اند و کاربر یک فرم HTML را به وسیله دکمه Submit  ارسال می کند همچنین وقتی که این نوع اکشن فراخوانی می شود در آن می توان همه مقادیر کنترل ها را به وسیله   FormCollection از فرم HTML  بدست آورد. یک متد اکشن می تواند انواع مختلفی از اطلاعات و مقادیر را برای کاربر برگرداند. ما می توانیم انواع مختلفی را برای کاربر از یک متد اکشن برگردانیم اما بیشتر از ActionResult استفاده می کنیم زیرا   ActionResult والد انواع مخلتف است.

Area  ها در ASP.NET MVC

در نسخه ASP.NET MVC 2.0 مایکروسافت ویژگی جدیدی با نام Area ها را معرفی کرد. Area ها برای تقسیم بندی یا مجزا کردن یک برنامه بزرگ به چندین برنامه MVC استفاده می شود . به عنوان نمونه :

 

زمانیکه شما یک area  را به پروژه اضافه می کنید یک route (مسیر) برای area  در فایل AreaRegistration تعریف می شود.این route درخواست های رسیده از URL  به یک area  هدایت می کند.

طراحی سایت مشهد

 آموزش طراحی سایت مشهد

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

درباره‌ی محمد آذرنیوا

من محمد آذرنیوا، نویسنده و مدرس دوره های برنامه نویسی ، طراحی وب و تحلیل گر پایگاه داده هستم و قصد دارم در این وبسایت مطالب کاربردی در این زمینه را با شما به اشتراک بگذارم ...

همچنین ببینید

ساخت اپلیکیشن سمت کاربر با فرمت Javascript

در این بخش از آموزش Web API با استفاده از HTML، Javascript و  Knockout.js   اپلیکیشنی …

2 نظر

  1. آیا این توصیه که برای یادگیری asp از web form شروع کنید بعد mvc درست است؟

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *