The layered architecture pattern is the most commonly used architecture pattern in software engineering. This architectural pattern is also known as the N-tier architecture style or the multi-layered architecture style.
Layered (N-Layer) Architecture is a software design pattern that organizes an application’s components into separate layers, each responsible for specific tasks. In this architecture, each layer only communicates with the layers with a clear separation of concerns. The main purpose of a layered architecture is to organize the components of an application with similar functionalities into horizontal logical layers.
Layered (N-Layer) Architecture
In these frameworks, components that are related or that are similar are usually placed on the same layers. However, each layer performs a specific role within the application.
So when we said separating horizontal logical layers, we should clearly understand that these layers are logical not physicals layers. So that means we are still using Monolithic architecture with 1 application server but inside of this 1 application server we have separated logical layers to organize similar components into code.
Layered architecture patterns are N-tiered patterns where the components are organized in horizontal layers. This is the traditional method for designing most software. This means that all the components are interconnected but don’t depend on each other.
To summarize we can say that Layered Architecture is about organizing code for separation of concerns. The main characteristic of Layered Architecture is layers of isolation. This means that layers can be modified and the change won’t affect other layers. That means, changes are isolated to the specific layer which is modified.