Do N-Tier/Layered architecture really helpful with MVC? I have some projects here that use N-Tier architecture with MVC.
The available layers are
- Entity Layer
- Data Layer
- Business Layer
- Presentation Layer
- Service Layer
It does have some other layers like Common, Helper etc. but the above layers provides major functionality.
- Entity layer have the objects mappings for database schemas
- Data Layer - The ADO.NET which provides connectivity to any version of Database
- Business Layer - A top layer which interacts with Data and Entity Layer and applies any business rules
- Presentation Layer (MVC) - Here it works in an MVC way, where ViewModels are created by grouping Entities from Entity Layer and the controller interacts with the Business layer for any incoming request.
Service Layer - Here it is Web API Project where it makes the project available through service. This again uses Entity Objects as Request and Response Objects and it interacts with Business Layer.
- Do this layering really needed with MVC in addressing separation of concerns?
- How is it exactly making difference than MVC does?