انتخاب بین 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 به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2