What's the difference between "Layers" and "Tiers"?
A LAYERED cake is composed of stacked cakes of the same size with a filling between each layer. A TIERED cake is composed of 2+ different sized layered cakes, stacked on top of one another.
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.
N-Tier refers to the actual n system components of your application. On the other hand, N-Layers refer to the internal architecture of your component. N-Tier architecture usually has atleast three separate logical parts, each located on separate physical server. Each tier is responsible for a specific functionality.
Three-tier architecture is a well-established software application architecture that organizes applications into three logical and physical computing tiers: the presentation tier, or user interface; the application tier, where data is processed; and the data tier, where the data associated with the application is ...
Logical layers are merely a way of organizing your code. Typical layers include Presentation, Business and Data – the same as the traditional 3-tier model. But when we’re talking about layers, we’re only talking about logical organization of code. In no way is it implied that these layers might run on different computers or in different processes on a single computer or even in a single process on a single computer. All we are doing is discussing a way of organizing a code into a set of layers defined by specific function.
Physical tiers however, are only about where the code runs. Specifically, tiers are places where layers are deployed and where layers run. In other words, tiers are the physical deployment of layers.
Source: Rockford Lhotka, Should all apps be n-tier?
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