آموزش ASP.NET MVC

دسته بندی: دات نت (NET.)

آموزش ای اس پی دات نت ام وی سی

آنچه در این صفحه می خوانید:

ASP.NET MVC چیست؟

ASP.NET MVC یک فریمورک برنامه وب است که توسط مایکروسافت تهیه شده است و الگوی MVC را پیاده سازی می کند. این نرم افزار اوپن سورس است و متفاوت از جزء اختصاصی ASP.NET Web Forms است. براساس ASP.NET MVC توسعه دهندگان نرم افزار می توانند تا برنامه وب را به عنوان ترکیبی از سه نقش Model ،View و Controller ایجاد کنند. مدل MVC برنامه های وب را با 3 لایه منطقی تعریف می کند.

تعریف MVC

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

  • Model: داده ها را ذخیره و در صورت لزوم آن ها را به شی تبدیل و آنها را از پایگاه داده بازیابی می کند.
  • View: ساخت UI برنامه را برعهده دارد.
  • Controller: واسط بین دو جز قبلی است که View را به عنوان نمایش دهنده UI برمی گزیند.

Controller دارای سه وظیفه است:

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

مدل، نمایان گر حالت جنبه خاصی از برنامه است. یک کنترل کننده تعامل را کنترل می کند و مدل را به روز می کند تا یک تغییر در وضعیت برنامه را منعکس کند و سپس اطلاعات را به View منتقل می کند. یک View اطلاعات لازم را از کنترل کننده می پذیرد و رابط کاربری را برای نمایش آن اطلاعات ارائه می دهد. فریمورک ASP.NET MVC یک فریمورک سبک و تست شده است که با ویژگی های موجود ASP.NET یکپارچه شده است. برخی از این ویژگی های یکپارچه، صفحات اصلی و تأیید هویت مبتنی بر عضویت هستند. فریمورک ASP.NET MVC با استفاده از قراردادهای مبتنی بر رابط، مدل ها، نماها و کنترل کننده ها را جفت می کند و بدین ترتیب اجازه می دهد تا هر یک از اجزاء به طور مستقل مورد آزمایش قرار بگیرند. در نسخه های بعدی ASP.NET ،ASP.NET MVC ،ASP.NET Web API و ASP.NET Web Pages (سکویی که فقط از صفحات Razor استفاده می کند) در MVC 6 یکپارچه خواهند شد.در آوریل 2009، کد منبع ASP.NET MVC تحت مجوز عمومی مایکروسافت (MS-PL) منتشر شد.

مزایای ASP.NET MVC

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

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

فریمورک ASP.NET MVC مزایای زیر را ارائه می دهد:

  • با تقسیم یک برنامه به مدل، نما و کنترلر، مدیریت پیچیدگی را آسانتر می کند.
  • از فرم های نمایش حالت یا سرور استفاده نمی کند. این باعث می شود که فریمورک MVC برای توسعه دهندگانی که می خواهند کنترل کامل بر رفتار یک برنامه داشته باشند، ایده آل باشد.
  • از یک الگوی Front Controller استفاده می کند که درخواست های برنامه وب را از طریق یک کنترلر واحد پردازش می کند. این به شما امکان می دهد تا برنامه ای طراحی کنید که از زیرساخت های مسیریابی غنی پشتیبانی کند.
  • پشتیبانی بهتری برای توسعه محور آزمایش (TDD) فراهم می کند.
  • برای برنامه های وب که توسط تیم های بزرگی از توسعه دهندگان و طراحان وب پشتیبانی می شوند که به کنترل بالایی بر رفتار برنامه ها نیاز دارند، به خوبی کار می کند.
  • کنترل کد های HTML
  • ساخت رابط کاربری قدرتمند تر با Ajax و JQuery
  • ایجاد آدرس های SEO-Friendly

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

فریمورک ASP.NET MVC ویژگی های زیر را ارائه می دهد:

  • تفکیک وظایف برنامه (منطق ورودی، منطق کسب و کار و منطق UI)، قابلیت آزمایش و توسعه محور تست (TDD) به طور پیش فرض. کلیه قراردادهای اصلی در فریمورک MVC مبتنی بر رابط هستند و می توانند با استفاده از اشیاء که شبیه سازی شده اند که از رفتار اشیاء واقعی در برنامه تقلید می کنند، آزمایش شوند. شما می توانید برنامه را بدون نیاز به اجرای کنترل کننده ها در یک فرآیند ASP.NET تست کنید، که باعث می شود تست واحد سریع و انعطاف پذیر باشد. می توانید از هر فریمورکی برای آزمایش واحد استفاده کنید که با فریمورک NET سازگار باشد.
  • یک فریمورک قابل توسعه و قابل تعویض. اجزای فریمورک ASP.NET MVC به گونه ای طراحی شده اند که می توان آنها را به راحتی جایگزین یا سفارشی کرد. می توانید موتور مشاهده خود، خط مشی مسیریابی URL، سریال سازی پارامتر از روش عمل و سایر مؤلفه ها را وصل کنید. فریمورک ASP.NET MVC همچنین از استفاده از مدل های بسته بندی Dependency Injection و Inversion of Control پشتیبانی می کند. DI به شما امکان می دهد به جای اینکه به کلاس اعتماد کنید تا خود شیء ایجاد شود، اشیاء را به یک کلاس تزریق کنید. IOC مشخص می کند که اگر یک شی به یک شی دیگر نیاز داشته باشد، اشیاء اول باید شی دوم را از یک منبع خارجی مانند یک فایل پیکربندی دریافت کنند. این کار آزمایش را آسانتر می کند.
  • یک مؤلفه قدرتمند نقشه برداری URL که به شما امکان می دهد برنامه هایی بسازید که دارای آدرس های قابل درک و قابل جستجو هستند. URL ها نباید شامل پسوندهای نام فایل باشند و برای پشتیبانی از الگوهای نامگذاری URL طراحی شده اند که برای بهینه سازی موتور جستجو (SEO) و آدرس دهی انتقال بازنمایی حالت (REST) به خوبی کار می کنند.
  • پشتیبانی از استفاده از نشانه گذاری در صفحه ASP.NET موجود (فایل های xx.)، کنترل کاربر (فایل های ascx.) و صفحه اصلی (فایل های اصلی.) به عنوان الگوهای مشاهده. شما می توانید از ویژگی های موجود ASP.NET با فریمورک ASP.NET MVC مانند صفحات اصلی تو در تو در تو، نمایش عبارات درون خط (<٪ =٪>)، کنترل های اعلامی سرور، قالب ها، اتصال داده ها، بومی سازی و غیره استفاده کنید.
  • پشتیبانی از ویژگی های موجود ASP.NET MVC به شما امکان می دهد از ویژگی هایی مانند تأیید صلاحیت اشکال و تأیید هویت ویندوز، مجوز URL، عضویت، ذخیره اطلاعات و خروجی، مدیریت نشست و نمایه، نظارت بر سلامت، سیستم پیکربندی و معماری ارائه دهنده استفاده کنید.

مقایسه ASP.NET MVC و ASP.NET

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

ASP.Net Web Forms بخشی از فریمورک برنامه وب ASP.NET است. ASP.Net MVC فریمورکی است که با تفکیک نگرانی ها و توانایی طراحی و در CLR (زبان مشترک ران تایم) و بر اساس معماری MVC ساخته شده است. جدا از این تفاوت فنی، اختلافات عمده دیگری نیز بین آنها وجود دارد. در این اینجا، ما در مورد تفاوت های مهم بحث خواهیم کرد که به شما کمک می کند تا انتخاب صحیح بین هر دو را انجام دهید. بیایید با جزئیات بیشتری به هر یک از تفاوت ها توجه کنیم.

  • تفسیر لایه ها: در حالی که ASP.Net Web Forms از روش الگوی کنترل صفحه برای ارائه طرح ها استفاده می کنند، ASP.NET MVC از رویکرد کنترلر جلو استفاده می کند. در ASP.NET MVC، یک کنترلر مشترک برای تمام صفحات وجود دارد.
  • از نظر تفکیک: در ASP.Net Web Forms نگرانی های جدایی وجود دارد زیرا هر صفحه کنترل کننده خاص خود را دارد. با این حال، در ASP.NET MVC، جدایی تمیز وجود دارد زیرا نمایش و کنترلر کاملاً مجزا هستند.
  • تست: تست خودکار در ASF.NET WebForms خسته کننده و دشوار است. ASP.NET MVC در این نبرد پیروز می شود زیرا توسعه محور تست در این روش بسیار ساده است.
  • مدل توسعه: ASP.Net Web Forms از یک مدل توسعه معمولی مبتنی بر رویداد استفاده می کنند، در حالی که ASP.Net MVC از مدل توسعه مبتنی بر الگوی MVC پیروی می کند.
  • اگر به دنبال ASP.Net Web Forms هستید، نیازی به درک دقیق HTML ،CSS یا JavaScript نیست زیرا این همه جزئیات را انتزاع و پایپ لاین خودکار را فراهم می کند. با این حال، اگر از ASP.NET MVC استفاده می کنید، به درک روشنی از نحوه کار HTML ،CSS و JavaScript نیاز دارید.
  • ASP.NET MVC برای برنامه های در مقیاس بزرگ مناسب تر است. WebForm ها به شما کمک می کنند تا زمان توسعه برنامه های اینترانت و اینترنت را که نیاز به کنترل زیادی دارد، کاهش دهید. با این حال، زمان زیادی لازم است که بعداً برای محدود کردن محدودیت ها کد گذاری شود. از طرف دیگر، در ASP.Net MVC، هدف اصلی دستیابی به کنترل برنامه است. لازم نیست وقت بیشتری را برای کدگذاری محدودیت ها اختصاص دهید.
آیا این نوشته را دوست داشتید؟
pluralsight-building-web-applications-with-asp-net-core-mvc

ساخت وب اپلیکیشن ها با ASP.NET Core MVC


شما در این دوره، می آموزید که چگونه یک وب اپلیکیشن مدرن کاملاً کارآمد را با ASP.NET Core 3.0 MVC بسازید. ابتدا یاد خواهید گرفت که چگونه یک پروژه ASP.N...

1399/09/05 2970 بازدید زیرنویس دارد
pluralsight-building-a-restful-api-with-asp-net-core-3

آموزش ساخت یک RESTful API با ASP.NET Core 3


شما در این دوره، یاد خواهید گرفت که چگونه یک API RESTful با ASP.NET Core بسازید. ایجاد یک RESTful API واقعی با ایجاد یک API وب معمولی کاملاً متفاوت اس...

1399/08/18 4416 بازدید زیرنویس دارد
udemy-master-asp-dot-net-mvc-core-3

دوره تسلط بر ASP.NET MVC Core 3


بر روی ASP.NET MVC Core با تجربه عملی در وب سایت های دنیای واقعی مسلط شوید. دوره ای گام به گام برای یادگیری ASP.NET Core MVC - ساخت اپلیکیشن ها با است...

1399/08/14 2206 بازدید زیرنویس دارد
udemy-complete-guide-to-asp-dot-net-core-mvc-v3-1-

راهنمای کامل ASP.NET Core MVC v3.1


با استفاده از ASP.NET Core MVC ، Entity Framework Core و ASP.NET Core Identity اپلیکیشن های واقعی را ایجاد کنید. ساختار پروژه ASP NET MVC Core 3.1 را ...

1399/07/29 5156 بازدید زیرنویس دارد
the-complete-asp-net-mvc-5-course

دوره کامل ASP.NET MVC 5 از Code With Mosh


بیاموزید که اپلیکیشن های وب سریع و ایمن را با ASP.NET MVC 5 بسازید و استقرار کنید. امنیت، احراز هویت و مجوز را با استفاده از هویت ASP.NET پیاده سازی ک...

1399/02/18 3693 بازدید
udemy-advanced-aspnet-core-31-mvc

دوره پیشرفته ASP.NET Core 3.1 MVC


اگر به دنبال یادگیری الگوی Repository، معماری N-Tier در زمان رکورد با ASP.NET Core MVC 3.1 هستید، شما در جای درستی قرار دارید. ساخت اپلیکیشن هایی با ا...

1399/02/06 14284 بازدید زیرنویس دارد
linkedin-asp-net-mvc-5-essential-training

آموزش اساسی ASP.NET MVC 5


در این دوره Jonathan "J." Tower مفاهیم اساسی فریم ورک ASP.NET MVC 5 را می آموزد. مفهوم مدل ها، ویوها و کنترلرها و چگونگی انتقال داده ها بین آنها را یا...

1399/01/27 2052 بازدید زیرنویس دارد
linkedin-building-react-and-asp-net-mvc-5-applications

آموزش ساخت اپلیکیشن های ری اکت و ASP.NET MVC 5


React.js یک فریم ورک محبوب است که به خصوص برای ساخت اپلیکیشن های وب با ASP.NET MVC 5 مناسب است، اما ادغام این دو چارچوب می تواند چالش برانگیز باشد. در...

1399/01/23 2437 بازدید
udemy-building-an-enterprise-application-with-aspnet-core-mvc

آموزش ساخت اپلیکیشن سازمانی با ASP.NET Core MVC


برای افرادی که دانش پایه OOP و ASP.NET Core جدید را دارند، این دوره از یک رویکرد مبتنی بر پروژه برای آموزش توسعه اپلیکیشن وب ASP.NET Core full-stack ب...

1399/01/21 4564 بازدید
teamtreehouse-asp-net-mvc-forms

آموزش فرم های ASP.NET MVC


در این دوره یاد می گیرید که چگونه با استفاده از ASP.NET MVC فرم ها را ایجاد کنید. در طول دوره، با ساختن یک نسخه وب اپلیکیشن Fitness Frog از مبانی سی ش...

1398/10/19 1374 بازدید
teamtreehouse-asp-net-mvc-basics

آموزش مبانی ASP.NET MVC


در این دوره، در حالی که ما یک وب سایت گالری کتاب طنز را با استفاده از Visual Studio Community ایجاد می کنیم، در مورد اصول اولیه ASP.NET MVC یاد خواهید...

1398/10/10 1437 بازدید
linkedin-learning-asp-net-linkedin-learning

یادگیری ASP.NET


در این دوره با چارچوب ASP.NET، ابزارهای این چارچوب برای مدیریت داده‌ها، ایجاد سرویس‌های RESTful و ایجاد اتصالات بلادرنگ وب، ساخت محتوای پویا وب با ASP...

1398/07/26 3917 بازدید زیرنویس دارد
pluralsight-architecting-an-asp-net-core-mvc-application-for-unit-testability

معماری اپلیکیشن ASP.NET Core MVC برای قابلیت تست واحد


در این دوره، توانایی طراحی اپلیکیشن برای تست پذیری را فرا خواهید گرفت. ابتدا با الگوهای طراحی معماری آشنا می شوید که به شما کمک می کند تا بتوانید اپلی...

1398/06/18 4070 بازدید
step-by-step-aspnet-mvc-tutorial-for-beginners-mosh

آموزش ASP.NET MVC 5 برای مبتدیان به صورت گام به گام


در این ویدئو با توسعه اپلیکیشن های وب با ASP.NET MVC 5 به صورت گام به گام، سرگرم کننده و گام به گام آشنا می شوید. به کمک ای اس پی دات نت ام وی سی می ت...

1398/03/03 3082 بازدید زیرنویس دارد
wintellectnow-creating-custom-view-models

آموزش ایجاد ViewModels سفارشی در اپلیکیشن MVC


در این دوره با ایجاد ViewModels سفارشی و دلایل اهمیت آن در اپلیکیشن MVC آشنا می شوید. سرفصل: مقدمه View Models و Class Granularity چرا مدل های...

1397/08/30 1532 بازدید
lynda-asp-net-mvc-5-identity-authentication-and-authorization

آموزش هویت ASP.NET MVC 5 - احراز و تایید هویت


احراز و تایید هویت ویژگی های اصلی بسیاری از اپلیکیشن های مدرن است. با توانمند سازی اعتبار از سیستم عامل های قابل اعتماد مانند فیس بوک و گوگل، می توانی...

1397/06/26 4984 بازدید زیرنویس دارد
lynda-asp-net-mvc-building-for-productivity-and-maintainability

آموزش ایجاد اپلیکیشن های ASP.NET MVC با قابلیت نگهداری و بهره وری


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

1397/06/23 1613 بازدید زیرنویس دارد
packtpub-getting-started-with-asp-net-core-mvc-video

آموزش شروع کار با ASP.NET Core MVC


آخرین فریمورک توسعه وب از مایکروسافت ASP.NET Core است. در این دوره با ایجاد یک وب سایت از ابتدا، راه اندازی اولیه پروژه، مفهوم الگو MVC، مفهوم میان اف...

1397/06/11 3789 بازدید
teamtreehouse-asp-net-mvc-basics-course

آشنایی با مبانی ASP.NET MVC


ASP.NET MVC فریمورک محبوب در سمت سرور است که توسط مایکروسافت طراحی شده و برای ساخت وب سایت های پویا مورد استفاده قرار می گیرد. در این دوره با  اصول AS...

1397/06/01 2190 بازدید
wintellectnow-understanding-mvc-application-architecture-and-the-view-model

آموزش ساخت اپلیکیشن ASP.NET MVC


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

1397/05/25 1648 بازدید