Difference between 3-tier and n-tier architecture

3-tierArchitecturen-tier-architecture

My professor said, that adding multiple layers in the BLL, will make the 3-tier an n-tier architecture.

But from my understanding (I may be wrong), a tier is a physical separation, and a layer is a logical seperation, so adding multiple layers will still keep it a 3-tier application, wouldn't it?

Best Answer

You are absolutely correct when you say

a tier is a physical separation, and a layer is a logical seperation so adding more layrers make it n-layered solution not a n-tiered solution. Adding so much layer may increase the complexity of your solution so try to avoid a lot of layering in the solution also. Normally, the application divide their layers into two broad categories.

1- Horizontal Layers: These layers are used to provide the application-wide functionality and they can be re-used in different solutions. Example of layers are:

 a- Logging Layer

 b- Security Layer

2- Vertical Layers: These are the layers which actually logically creates your application, for example, UI, business logic, data access and theoretically these layers can also be used in similar applications with some changes. Horizontal layers are used across by the vertical layers.

Related Topic