recommended websites:
- Martin Fowler: martinfowler.com
- Greg Young goodenoughsoftware.net
- Udi Dahan: udidahan.com
- Matthew Renze: matthewrenze.com
- all classes and interfaces defined in this layer have no dependencies to any
third party library.
- containers the actual implementations of the business services described in the domain layer.+
- most dependency injection defitions point to implementations defined in this layer
- The API layer provides an API interface to interact with the application. For example, this could be a REST API backend for a modern JavaScript-based frontend. The layer defines routes and controllers that trigger the corresponding operations in the domain layer.
- the presentation layer contains all resources concerned with creating a user interface rendered on the server side for the end user
- For Symfony, this means that web based controllers, forms with input validation and Twig view scripts are stored in this layer.
- the presentation layer should not contain any business logic
- only forward calls to the respective services of the domain layer