ASP.NET MVC: Benefits
1) Separation of Concerns
- Model: Model is associated with Views and a Controller (Bussiness Entity)
- Model: Model is associated with Views and a Controller (Bussiness Entity)
- View: Views are the components that display on User Interface (UI)
- Controller: Controller is an input control
2) Each component has one responsibility
- SRP – Single Responsibility Principle
- DRY – Don’t Repeat Yourself
3) More easily testable
- TDD – Test-driven development
4) Helps with concurrent development
- Performing tasks concurrently
- One developer works on views
- Another works on controllers
5) Replace any component of the system
- Interface-based architecture
6) Almost anything can be replaced or extended
- Model binders (request data to CLR objects)
- Action/result filters (e.g. OnActionExecuting)
- Custom action result types
- View engine (Razor, WebForms, NHaml, Spark)
- View helpers (HTML, AJAX, URL, etc.)
7) REST-like URLs
- /accounts/details
- /products/men/t-shirts
8) Friendlier to humans
- /product.aspx?prodId=2709 becomes /products/jeans/
9) Friendlier to web crawlers
- Search engine optimization (SEO)
- SRP – Single Responsibility Principle
- DRY – Don’t Repeat Yourself
3) More easily testable
- TDD – Test-driven development
4) Helps with concurrent development
- Performing tasks concurrently
- One developer works on views
- Another works on controllers
5) Replace any component of the system
- Interface-based architecture
6) Almost anything can be replaced or extended
- Model binders (request data to CLR objects)
- Action/result filters (e.g. OnActionExecuting)
- Custom action result types
- View engine (Razor, WebForms, NHaml, Spark)
- View helpers (HTML, AJAX, URL, etc.)
7) REST-like URLs
- /accounts/details
- /products/men/t-shirts
8) Friendlier to humans
- /product.aspx?prodId=2709 becomes /products/jeans/
9) Friendlier to web crawlers
- Search engine optimization (SEO)
Comments