-3

After a lot of reading i still unable to understand the difference between the design pattern MVC and 3-tier architecture. I see that the model in mvc is the same as business layer in 3-tier. In all websites i searched in, i found that MVC is an applicatif architecture for presentation layer in 3-tier architecture.

TarAll
  • 25
  • 1
  • 1
  • 9
  • *I see that the model in mvc is the same as business layer in 3-tier.* It's not remotely the same. Models are not a layer, nor are views. – Erik Philips Oct 25 '16 at 18:51
  • But both the Model and business layer are meant to work on data (ie do a server validation). – TarAll Oct 25 '16 at 20:17
  • Sure they can, but they aren't in separate layers. Models, Views and Controllers are tightly coupled in [tag:asp.net-mvc]. Maybe you should remove that tag if you aren't specifically talking about the asp.net-mvc implementation. – Erik Philips Oct 25 '16 at 21:08

1 Answers1

2

I guess in a sense a MVC project could be considered a 3-tiered application. It has a data layer, view layer and a logic layer. However, all 3 of these layers are tightly coupled to the MVC project.

On the otherhand an n-tiered application may consist of a UI application(ie. MVC web app) which calls a web service(ie. WCF) which then calls a Business Logic/Data Access layer(ie. LINQ-> SQL, Database calls).

The main difference I see is MVC is tightly coupled to it's architecture. By this I mean, you can not just remove the controller/models without rebuilding the application. N-tiered applications on the other hand are more loosely coupled. Meaning, I could switch out the WCF layer for Web API and the rest of my application would not care. This is an advantage where growth/expansion may required.

Mark
  • 4,773
  • 8
  • 53
  • 91