MVC
Separa el modelo (datos), la vista (UI) y el controlador (input) en componentes independientes.
Contexto
La arquitectura clásica de UIs y de la mayoría de frameworks web (ASP.NET MVC, Rails, Spring MVC).
Solución
- Model: datos y reglas.
- View: render.
- Controller: recibe input, llama al modelo, elige la vista.
public class OrdersController : Controller
{
private readonly IOrderService _svc;
public OrdersController(IOrderService s) => _svc = s;
public async Task<IActionResult> Detail(Guid id)
{
var order = await _svc.GetAsync(id);
return View(order); // ← vista Razor recibe el modelo
}
}Cuándo NO aplicarlo
- En SPAs: el controller del backend ya no controla la vista. Considera MVVM o Backend-for-Frontend.
#architecture #ui