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