CodeShot
MVC1 دقیقه مطالعه

ASP.NET Core MVC چیست؟

الگوی معماری Model-View-Controller در ASP.NET Core برای ساخت اپلیکیشن‌های وب با صفحات Server-Rendered.

چرا مهم است؟

MVC هنوز انتخاب رایج برای اپلیکیشن‌های وب سنتی (نه SPA) است که HTML روی سرور رندر می‌شود؛ جداسازی Model/View/Controller نگهداری کد را در پروژه‌های بزرگ ساده‌تر می‌کند.

تعریف

MVC داده (Model)، نمایش (View، فایل‌های Razor .cshtml) و منطق پاسخ به درخواست (Controller) را از هم جدا می‌کند؛ Controller تصمیم می‌گیرد کدام View با کدام Model رندر شود.

مثال

public class ProductsController : Controller
{
    private readonly IProductService _service;
    public ProductsController(IProductService service) => _service = service;

    public async Task<IActionResult> Index()
    {
        var products = await _service.GetAllAsync();
        return View(products); // Views/Products/Index.cshtml
    }
}

چرخه یک درخواست

Routing → Controller Action → Model (از Service/دیتابیس) → View (رندر HTML) → پاسخ به مرورگر.

اشتباه رایج

❌ نوشتن منطق کسب‌وکار مستقیم داخل Controller Action — Controller باید نازک باشد و فقط هماهنگ‌کننده؛ منطق واقعی باید در لایه Service باشد تا قابل تست مستقل و استفاده مجدد شود.

منبع و مطالعه بیشتر

خلاصه

MVC داده، نمایش و منطق پاسخ‌دهی را در سه لایه جدا می‌کند و برای اپلیکیشن‌های وب Server-Rendered مناسب است. Controller را نازک نگه دارید و منطق کسب‌وکار را در Service بگذارید. مرجع کامل: مستندات ASP.NET Core MVC، Microsoft Learn.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←