MVC

model-view-controller

Introduction

Asp.Net MVC architecture separates an application into three main parts Model-View-Controller (MVC). MVC architecture provide good “separation of concerns” in general “Loose coupling”.
As MVC framework is based on ASP.NET, it allows software programmer and developers to build web application in the composition of these following three roles:

  • Model (Model Logic)
    Model is business layer in MVC pattern. It is the core of the application. Model handles the logic form the application data. Its often retrieve data from database and store data into database. It also represents the state of a particular aspect in the application.
  • View (View Logic)
    View is display layer in MVC pattern. It handles displaying of data in the application.It accepts information from controller and gives it some user interface to display that information to the user.
    Mostly Views are created from the Model Data.
  • Controller (Controller Logic)
    Controller is input control in MVC pattern. It basically handles the input and user interactions in the MVC pattern. First it read data from a view, then controls user input and updates the model to reflect changes in application and then passes information to the view to represent to the users.

Evolution

  • MVC 6
    •  ASP.NET MVC and Web API has been merged in to one.
    •  Dependency injection is inbuilt and part of MVC.
    •  Side by side – deploy the runtime and framework with your application
    •  Everything packaged with NuGet, Including the .NET runtime itself.
    •  New JSON based project structure.
    •  No need to recompile for every change. Just hit save and refresh the browser.
    •  Compilation done with the new Roslyn real-time compiler.
    •  vNext is Open Source via the .NET Foundation and is taking public contributions.
    •  vNext (and Rosyln) also runs on Mono, on both Mac and Linux today.
  • MVC 5
    • One ASP.NET
    •  Attribute based routing
    •  Asp.Net Identity
    •  Bootstrap in the MVC template
    •  Authentication Filters
    •  Filter overrides
    • ASP.NET Scaffolding
  • MVC 4
    • ASP.NET Web API
    •  Refreshed and modernized default project templates
    •  New mobile project template using jQuery Mobile
    •  Many new features to support mobile apps
    •  Enhanced support for asynchronous Controllers
    • Bundling and minification
    • Support for the Windows Azure SDK
  • MVC 3
    •  Razor
    • Model Validation Improvements -Data Annotations , Remote Validation
    • JavaScript and Ajax
    • Support for Multiple View Engines
    • HTML 5 enabled templates
    • Readymade project templates
    • Model Validation Improvements -Data Annotations , Remote Validation
    • Entity Framework Code First support
    • Partial-page output caching
    • ViewBag dynamic property for passing data from controller to view
    • Global Action Filters
    • Better JavaScript support with unobtrusive JavaScript, jQuery Validation, and JSON binding
    • Good Intellisense support for Razor into Visual Studio.
  • MVC2
    • Client-Side Validation
    • Templated Helpers
    • Strongly typed HTML helpers means lambda expression based Html Helpers
    • Areas
    • Asynchronous Controllers
    • Html.ValidationSummary Helper Method
    • DefaultValueAttribute in Action-Method Parameters
    • Overriding the HTTP Method Verb including GET, PUT, POST, and DELETE
    • Binding Binary Data with Model Binders
    • DataAnnotations Attributes
    • Model-Validator Providers
    • New RequireHttpsAttribute Action Filter
    • Templated Helpers
    • Display Model-Level Errors
  • MVC 1
    • MVC Pattern architecture with WebForm Engine
    • Html Helpers
    • Ajax helpers
    • Routing
    • Unit Testing
    • Auto binding

 

Leave a Reply

Your email address will not be published. Required fields are marked *