Get Help:Ask a Question in our Forums|Report a Bug|More Help Resources
Last post Mar 28, 2011 08:17 AM by Jonathan Chen
Mar 23, 2011 01:54 PM|LINK
Sorry if my question is a silly one but I am new in MVC and I am confused what is the actual difference between MVC and the 3-tier architecture (Data Access Layer, Business Layer and Presentation Layer)? both are seperating the logic from the UI and there
is a layer to control them?!
Mar 23, 2011 02:01 PM|LINK
Mar 23, 2011 02:10 PM|LINK
Thanks for the reply but I am still confused because during my working experience, The web applications I have created where using N-Tier architecture and all were on same web server only different classes and folders like MVC.... in other words, buisniss
layer, data layer and presentation, they were all in the same physical location, just different classes and folders (Logical seperation not physical)
A fundamental rule in 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 middleware tier.
It’s liner architecture. This addresses the question of how to pass information between a user and a database. Where as MVC is a triangular architecture: the View sends updates to the Controller, the Controller updates the Model, and the View gets updated directly
from the Model. This addresses questions of how a user interface manages the components on the screen.
Please visit below link for detail understanding.
Mar 23, 2011 02:41 PM|LINK
and using from DOS
Mar 23, 2011 02:51 PM|LINK
A 3 tier business project is composed of presentation, business and data access layers; one or more of these can be, but are not always, placed in separate code projects.
An MVC project is composed of Models, Views and Controllers. You will often, but not always, find that the Models are contained in a separate project to the Views and Controllers.
The Model part of MVC is equivalent to the business and data access layers you find in 3 tier applications, and indeed the Model maybe split along those lines. However, the View and Controller parts are all about user interaction and are the equivalent of
the presentation tier in a 3 tier project and are usually kept in the same project.
Mar 23, 2011 03:36 PM|LINK
as stated above MVC can be a used in 2 or 3 tier architectures depending on the model. MVC is an old pattern used for the presentation. The mac api has used it for years, java has had swing for web apps, and is common in multi-threaded applications.
the main tenant of MVC is the view sends commands (messages) to the controller, the controller updates the model, the model sends update messages to the view. Because web apps are client request/server response, the view send to the controller, and the model
update of the view are combined into one request, as the model can not send update messages to the view. in the web world, a new view is produced.
if you do a 3 tier mvc app now days, there are a lot more layers. you may business layer and data access in the business model, and you may have view models that talk to the business models. the view models have view and navigation rules rather than business
Mar 28, 2011 08:17 AM|LINK
Look at this thread: http://forums.asp.net/t/1658411.aspx/1?Difference+between+MVC+and+N+tier+Architectures