A layer is the implementation of abstraction.
From a high level, each language generation are a layer.
A layer is built based on recurring pattern. If a lower layer has a recurring pattern, it is taken out of it, and build in the higher layer.
Boundary definition. A layer can be seen:
Layer vs IO - Locality
| Layer | Functionality |
|---|---|
| Presentation | Provision of services, interface (HTML, Rich Client), handling of user request (click, …) |
| Domain (Business Logic) | Logic (procedural and calculation) |
| Data Source | Communication with the data sources (database, file, ..) |