ASP.NET Core MVC - Introduction

ASP.NET Core MVC - Introduction

Hey fellows, In this article series I’m going to cover the following areas in the Web development with C#, ASP .NET Core MVC, MVVM Tech Stack.

  • ASP .NET Core
  • Razor Pages and Blazor
  • MVC Architecture
  • MVVM Architecture
  • Models, ViewModels, Views, Partial views, Controllers, ViewComponents
  • Dependency injection, Major dependency injection lifetimes, Services
  • SQL Server configuration, EFCore migrations, Relationship types
  • Authentication, Authorization, Cookie-based Authentication
  • Azure Deployment

So, In this section, we will talk about MVC architecture at a high level.

What is MVC mean?

The Model-View-Controller (MVC) is an architectural design pattern that divides a software application/system into three main logical components,

  1. The model
  2. The view
  3. The controller

Each of these components is made to control and manage specific development domains in an application.

MVC is one of the most frequently used industry-standard web development frameworks to create scalable and extensible projects.

MVC Architecture Diagram

Model

In basic C# ASP .NET Core Web applications, it acts as a C# class which holds application data as a Data Blueprint. It also manages the Database operations and relations.

Ex: Buyer, Seller, Admin User, Categories Classes in e-commerce Applications

So Basically, The Model component corresponds to all the data-related logic that the user works with.

View

The view is a component that displays the user interface. In C#, It’s the CSHTML file (Razor Views). This handles the app's data presentation and user interaction

In view, you can trigger/notify the events that get handled by the controllers.

Controller

A controller controls the workflow that a user interacts with MVC application. A controller contains the flow control logic for an ASP.NET MVC application. A controller determines what response to send back to a user when a user makes a browser request.

According to some folks,

Controllers are the brain of an ASP.NET Core application. They process incoming requests, perform operations on data provided through Models, and selects Views to render on the browser.

Controllers are stored inside the Controllers folder in the root of the app.

Next Article, we will talk about these 3 main sections with C# examples.