Model View Controller (MVC) is focussed on UI based applications. In MVC the model notifies the UI (view) when its values change and the view then decides what and if to update. I can understand this for desktop, mobile and single page web applications where there is a persistent UI.
But why do some popular backend web frameworks such as ASP.Net Core, Ruby on Rails, Django etc use MVC when there is no UI to update, once the templated page view is rendered and returned? Once it has has finished rendering the page, the backend is not responsible for updates to the UI.
For example, ASP.Net Core refers to models as simple data structures without methods on them, that map to entities in e.g. a database. For example:
using System;
using System.ComponentModel.DataAnnotations;
namespace MvcMovie.Models
{
public class Movie
{
public int Id { get; set; }
public string Title { get; set; }
[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
}
Is there something I am misunderstanding about MVC, or is the term used quite loosely in this case?