انتخاب بین AspCoreMVC یا AspCorePages
با سلام خدمت دوستان
بین AspCoreMVC یا AspCorePages کدام بهتر و عملکرد بهتری داره ؟؟؟
با تشکر
پاسخ هوش مصنوعی
انتخاب بین ASP.NET Core MVC و ASP.NET Core Pages بستگی به نوع پروژه و نیازهای شما دارد. در اینجا مزایا و معایب هرکدام را بررسی می کنیم:
ASP.NET Core MVC:
مدل طراحی MVC (Model-View-Controller) برای برنامه های بزرگ و پیچیده مناسب است.
تفکیک واضح بین منطق کسب و کار، نمایش و کنترل داده.
قابلیت استفاده مجدد از کد و تست پذیری بهتر.
ASP.NET Core Pages:
برای پروژه های کوچک و ساده تر که نیاز به کنترل پیچیده ندارد، مناسب است.
کدنویسی کمتر و ساده تر، مخصوصاً برای صفحات وب.
مدل صفحه محور که می تواند سریعتر برای توسعه و نگهداری باشد.
به طور خلاصه، اگر پروژه شما بزرگ و پیچیده است، ASP.NET Core MVC گزینه بهتری است. اما اگر پروژه ای کوچک و ساده دارید، ASP.NET Core Pages می تواند انتخاب مناسبی باشد.
یکی از امکاناتی که در نسخه ۲ از تکنولوژی Asp.net core معرفی شده Page ها هستند. در نگاه اول از نظر کارایی بسیار شبیه به View ها می باشند.
نکته اولی که باید به آن دقت کنید اینکه به ساختار MVC تا قبل از Asp.net Core 2 ساختار ام وی سی سنتی و یا traditional MVC گفته می شود. تا همینجای کار شاید به یک نکته پی برده باشید و آن این است که ما گفتیم ام وی سی سنتی!!! یعنی Page ها با چیزی که تا به حال با آن کار می کردیم متفاوت می باشد و دیگر از ساختار model-controller-view پیروی نمی کند.
page ها هم مانندview ها از Razor view استفاده می کنند. البته در Page ها از Razor Page استفاده می شود که خود زیر مجموعه ای از Razor View می باشد. بنابراین می توان گفت اولین تفاوت Page با View این می باشد که Page ها یا همان صفحات از Razor Page ها استفاده می کنند اما View ها از Razor View استفاده می کند.
در بالای Page ها برای اینکه نشان داده شود که این یک Page می باشد از @page استفاده می شود. در ادامه میتوانید یک نمونه از یک Page ساده را مشاهده نمایید.
@page
@model LibraryProject.Pages.TestRazorModel
@{
ViewData[“Title”] = “TestRazor”;
Layout = “~/Views/Shared/_Layout.cshtml”;
}
<h2>TestRazor</h2>
تفاوت مهم دیگری که Page ها با View ها دارند این است که Page ها خود مختار هستند، به این معنی که مانند View ها وابسته به کنترلر نیستند. در واقع مثل Web Form ها دارای Code-behind هستند. می توان گفت یک Page همه چیز را همراه خود دارد یعنی هم کدهای Html و Css و … و هم کدهای سی شارپ. بنابراین از نظر فنی شما یک فایل با پسوند cshtml خواهید داشت و یک فایل با پسوند cshtml.cs که فایل دوم همان فایل کدنویسی سی شارپ (code-behind) می باشد که به عنوان کنترلر عمل می کند در حالی که در مدل ام وی سی سنتی شما یک کنترلر دارید، یک مدل یا ویومدل و یک ویو دارید.
دقت کنید که در ویوها تمامی عملیات از طریق اکشن ها انجام میگیرد و در واقع ویوها مبتنی بر اکشن هستند. اما در Page ها علاوه بر اکشن ها توسط متدهای onPost و OnGet هم عملیات نمایش صفحات و ارسال داده ها به سرور انجام می پذیرد.
در مجموع Razor Page تکنولوژی جدیدتری از MVC هست و به همین جهت امکانات و انعطاف پذیری بیشتری داره
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2