The ASP.NET framework is indeed based upon the Model-View-Controller development architecture. It allows us to create multi-tier MVC APIs for various CRUD actions, and full-fledged codebases for web and (cross-platform) mobile applications using Xamarin. The separation of concerns through this architecture allows us to clearly define data models to populate the ViewModel instances, write clearly-defined controller responsibilities, and view components.