Model-View-Presenter and Three-Tier?
-
01-10-2019 - |
Pergunta
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!
Solução
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.
Outras dicas
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.
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.