2

What is the difference between the two architectures: Model-View-Presenter and Three-Tier?

I understand the definitions of each when read individually, but I can't readily see how they're different. Is it desktop vs web? I am currently developing a simple desktop application in Python to visualize a complicated data model via a GUI.

Thanks!

Who8MyLunch
  • 1,190
  • 14
  • 20

3 Answers3

4

MVC is an UI pattern, three tier is an application architecture pattern. That is you can design your application with 3 tiers - UI, BL, data. And than use MVC in the UI tier.

user11826
  • 66
  • 2
1

MVC is a UI implementation pattern that attempts to simplify three tier architecture. MVC is just one of the ways you can implement three-tier.

tomilay
  • 685
  • 6
  • 11
0

I think the main differences is that in MVP/MVC, the view gets to reach into the model to get data, while in n-tier, there's a stricter separation, where each tier is only allowed to interface with the tier directly above/below it.

Ryan Ginstrom
  • 13,915
  • 5
  • 45
  • 60
  • I thought MVC was a triangle where each individual component was able to communicate with the other two. And I thought MVP was such that the Presenter had direct communication with the Model and View, which in turn only had indirect communication with the Presenter. This later description sounds a lot like Three Tier to me. Thus my confusion. – Who8MyLunch Jun 29 '10 at 01:20