what is the difference between 3 tier architecture and a mvc?

Model View-ControllerArchitectureThree Tier

Model View-Controller Problem Overview


what is the difference between 3 tier architecture and a mvc ?

Are they same?

Both have 3 layers i.e model, views and controller

Model View-Controller Solutions


Solution 1 - Model View-Controller

Comparison with the MVC architecture

> 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

Solution 2 - Model View-Controller

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.

Solution 3 - Model View-Controller

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

Solution 4 - Model View-Controller

Their are similar in a way, like:

  • 3 tier divides the whole app in: UI, logic and data
  • MVC divides the UI part in: view (kind of UI of the UI), model (data) and controller (logic)

But the difference comes from how the tiers communicate with each other:

  • 3-tier: anything goes through the logic tier (a->b, b->c and c->b, b->a)
  • MVC: they communicate 2 by 2, in a triangular way. (a->b, b->c, c->a)

Solution 5 - Model View-Controller

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

Solution 6 - Model View-Controller

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.

Solution 7 - Model View-Controller

The MVC architectural style is nonhierarchical (triangular):

  • View subsystem sends updates to the Controller subsystem
  • Controller subsystem updates the Model subsystem
  • View subsystem is updated directly from the Model subsystem

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

Solution 8 - Model View-Controller

The main difference between both is:

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

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

Solution 9 - Model View-Controller

The main difference between both is: A “tier” in this case can also be referred to as a “layer”. The three tiers, or layers, involved include: A Presentation Layer that sends content to browsers in the form of HTML/JS/CSS. This might leverage frameworks like React, Angular, Ember, Aurora, etc. An Application Layer that uses an application server and processes the business logic for the application. This might be written in C#, Java, C++, Python, Ruby, etc. A Data Layer which is a database management system that provides access to application data. This could be MSSQL, MySQL, Oracle, or PostgreSQL, Mongo, etc.

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

Solution 10 - Model View-Controller

first of all, tier is for physical deployment, what you mean maybe layers, and MVC is a framework for the presentation layer, that's all

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1414880View Question on Stackoverflow
Solution 1 - Model View-ControllerSarfrazView Answer on Stackoverflow
Solution 2 - Model View-ControllerGene SView Answer on Stackoverflow
Solution 3 - Model View-Controllerketan italiyaView Answer on Stackoverflow
Solution 4 - Model View-ControllerTerraMGView Answer on Stackoverflow
Solution 5 - Model View-ControllerknguyenView Answer on Stackoverflow
Solution 6 - Model View-ControllerGeorge ParkerView Answer on Stackoverflow
Solution 7 - Model View-ControllerBoraKurucuView Answer on Stackoverflow
Solution 8 - Model View-ControllerNitesh DashoreView Answer on Stackoverflow
Solution 9 - Model View-ControllerAnil YadavView Answer on Stackoverflow
Solution 10 - Model View-ControllerLIU YUEView Answer on Stackoverflow