- Break your application into as many parts as you want, using namespaces and projects
- URL generation and Views location are relative to the module
- Embed your views which can be overridden by files views in the host application
- Create reusable portable modules
- Routes are automatically created for you using convention over configuration
- Break away from the convention using attribute routes
- Default constraints for primitive types that can be overridden on a per-parameter or per-module basis
- Intelligent grouping of similar routes for efficient matching
- Formatting of routes (e.g. to lowercase, hyphen-separated, underscore-separated, etc)
- Conventional routing
- Custom routing
- Attribute routing
- Areas