Many applications use this traditional architecture and it may be ideal for apps with simple requirements.
This layer represents the presentation, the content that is presented to end the user. The product page of a PS5 is an example of a presentation.
This layer encodes the real-world business rules that determines how an application can access, create, store, and change data. The PS5 product page provides the product ID to the Logic layer and requests recommended products.
In this layer, information is stored and retrieved from a form of storage (ex. Database). The data passed to the Logic layer for processing and eventually is passed back to the user (Presentation layer).
A query (to get recommended products) is formed & passed to the Persistance layer to be executed.
The query results containing the recommended products is returned to the Logic layer to be processed and eventually returned to the Presentation layer to be rendered.
While this is a traditional architecture, it is monolithic since the application can become too large and complex to make frequent changes over time. There are alternatives:
- Microservice Architecture
- Cloud native Architecture
- Event Driven Architecture
What tech stack do you use for development?