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

  1. Entity Layer
  2. Data Layer
  3. Business Layer
  4. Presentation Layer
  5. 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.

    1. Do this layering really needed with MVC in addressing separation of concerns?
    2. How is it exactly making difference than MVC does?
  • 1
    common and helper are not layers – Ewan Sep 18 '18 at 12:20
  • @Ewan what it should be termed then ? – mbharanidharan88 Sep 18 '18 at 12:24
  • "coding horrors" maybe – Ewan Sep 18 '18 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.