Difference between three tier vs. n-tier

2019-03-09 02:14发布

I just came across the following sentence:

As the industry has moved from a three tier model to n-tier models, the object relational impedance mismatch has become more prevalent.

But I can't find a concise explanation of the difference between three tier and n-tier. I know what three tier is, and I assume n-tier just adds one or more tiers. I'm just not sure what these additional tiers would be. If anyone has a short explanation or simply a good link, that would be much appreciated.

9条回答
2楼-- · 2019-03-09 02:19

hi pls check this link, so u can get good idea regarding this

http://msdn.microsoft.com/en-us/library/ms973829.aspx

查看更多
贼婆χ
3楼-- · 2019-03-09 02:20

Where is that quote from? What industry are they referring to? I would have to imagine that this has something to do with SOA because that is the only thing that makes sense for this kind of statement.

Most people that I have heard who make this kind of statement believe that in a service-oriented domain each service is somehow its own tier. I disagree as most of the time these disparate services can be logically grouped into the common three tiers anyhow (presentation, logic, and data). But again, its all pretty subjective.

查看更多
别忘想泡老子
4楼-- · 2019-03-09 02:21

Without seeing the sentence in context, I assume it is referring to the explosion in services and middleware.

查看更多
时光不老,我们不散
5楼-- · 2019-03-09 02:23

n-tier implies n is any number - when n=3 then it is the same as n-tier.

The usual definition of 3-tier is presentation, logic & data (in any order), and yes, SOA can confuse the neophyte because sometimes it sits in the data tier, sometimes the logic tier and sometimes both logic & data tiers.

The whole subject is...subjective. If you need some tiers then call it n-tier - if you know that n=7 then call it 7-tier, or n-tier.

查看更多
霸刀☆藐视天下
6楼-- · 2019-03-09 02:24

If we looked at tiers like being layers of a cake; each layer would have it's own ingredients and do it's own things. The tiers of each application interact with only the tier above it, or below it.

3-tier means the cake has 3 layers. Usually it's data at the bottom, then an application logic tier (PHP/ruby/etc), and then a presentation tier at the top (html)

Having an n-tier architecture means you design something multiple layers layer to it. The number of layers you have will depend on how you decide to make it.

It seems to make a lot more sense with larger, or web applications.

I usually end up with a 5 tier application. Each tier can only interact with the one above it or below it. This can provide fantastic extensibility and standardization across your application.

Client Tier

Web Browser


Presentation Tier

Render the HTML - Coldfusion/Flash/Ruby/PHP,etc.


Business Logic Tier

Run the processes and calculations as needed - Coldfusion/Flash/Ruby/PHP,etc.


Data Integration Tier

(Queries from my Development Language, Stored Procedures, etc.)


Data Tier

(Database - MySQL, etc)

查看更多
孤傲高冷的网名
7楼-- · 2019-03-09 02:35

This Wiki-book chapter on application architecture is a straightforward guide to layers, tiers, and deciding what you need to use.

查看更多
登录 后发表回答