Встречается на 12% собеседований по C#

Что такое MVC

MVC (Model-View-Controller) — это архитектурный паттерн, разделяющий приложение на три компонента:

  • Model — отвечает за данные и бизнес-логику.
  • View — отображает данные (UI).
  • Controller — обрабатывает пользовательский ввод, взаимодействует с Model и обновляет View.

Пример на C# (ASP.NET MVC):

csharp
// Model
public class Product {
    public int Id { get; set; }
    public string Name { get; set; }
}

// Controller
public class ProductController : Controller {
public ActionResult Index() {
var products = new List<Product> { /* данные из БД */ };
return View(products); // Передача данных во View
}
}

// View (Index.cshtml)
@model List<Product>
@foreach (var item in Model) {
<p>@item.Name</p>
}

text

**Плюсы:**  
- Четкое разделение обязанностей.  
- Упрощает тестирование (особенно Model).  
- Гибкость (можно менять View без изменения Model).  

**Минусы:**  
- Иногда избыточен для простых приложений.  
- Controller может стать "толстым".  

Альтернативы: MVVM, MVP.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы