Comparison of Three Tier Architecture vs MVC Architecture Three-tier is nothing but Presentation Layer which is present UI related things, a business logic layer that contains all the calculation, logic related parts, and last Data Access Layer(Model). But in MVC Architecture is triangular.
1) In MVC , there is the Model , View , Controller which is in essence a three layer architecture with View on top , Controller in the middle , Model on the bottom and all three layers are only able to communicate with the layers above and beneath them only which is exactly the same as layered architecture .
N-tier architecture usually divides an application into three tiers: the presentation tier, logic tier and data tier. It is the physical separation of the different parts of the application as opposed to the usually conceptual or logical separation of the elements in the model-view-controller (MVC) framework.
If we choose to deploy each DLL on a separate machine, then we have 3 tiers and 3 layers. So, Layers are a logical separation and Tiers are a physical separation. We can also say that tiers are the physical deployment of layers.
At first glance, the three tiers may seem similar to the model-view-controller (MVC) concept; however, topologically they are different. A fundamental rule in a three tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middle tier. Conceptually the three-tier architecture is linear. However, the [model-view-controller] MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model.
Source: http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture
MVC is a pattern used to make UI code easier to maintain and test. When the MVC pattern is used a larger portion of the UI code can be unit tested.
Here is a good article which describes the MVC pattern in more detail: http://martinfowler.com/eaaDev/uiArchs.html
3 tier architecture is a pattern used for a completely different reason. It separates the entire application into meaningful "groups": UI, Business Logic, Data Storage.
So 3 tier application refers to all code in the application. The MVC pattern is a pattern used in the UI tier.
Here is a good article on the 3 tier architecture: http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx
For further information you can search the internet and find a gazzilion articles on both subjects.
In MVC : MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model
In Three Tier : A three tier architecture is the client tier never communicates directly with the data tier In a Three-tier model all communication must pass through the middle tier
Their are similar in a way, like:
But the difference comes from how the tiers communicate with each other:
http://en.wikipedia.org/wiki/Multitier_architecture Briefly, in 3-tier architecture, presentation tier never communicates directly with data tier. In MVC, the relation among model, view, and controller is triangular. Two of three can communicate each other
In three tier solution the UI is separated from the business tier to make sure that the UI designer who is concerned with the look and feel is not confused with the heavy programming which is left to the programming professions.
This architecture (three tier) is essential when a large number of people are involved in producing a large application.
The MVC architectural style is nonhierarchical (triangular):
The 3-tier architectural style is hierarchical (linear):
The presentation layer never communicates directly with the data layer (opaque architecture)
All communication must pass through the middleware layer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With