Layered architecture and abstraction layers
So far, we’ve been using the terms abstraction layers and layered architecture interchangeably. Now, it’s time to put everything back into place.
Layered architecture is an established term for the architectural pattern, which implies the separation of application components/functions into horizontal logical layers. The data flows in one direction, from top to bottom; thus, layers do not depend on the layers on top of them.
Let’s look at a layered architecture diagram example:
Figure 5.1 – Layered architecture example
The preceding diagram demonstrates a four-layer architecture typical for applications following the domain-driven design (DDD) paradigm. Surprisingly, this architecture fits Ruby on Rails applications, too.
Let’s describe each layer mentioned in the preceding diagram:
- Presentation layer: Responsible for handling user interactions and presenting...