https://herbertograca.com/2017/09/21/onion-architecture/
Use just the layers we need, the tiers we need, and nothing more
- UI: translating the user’s inputs into application commands; user can be human or other applications
- Application Layer: Orchestrates Domain objects to perform tasks required by the users. It does not contain business logic
- Domain Layer: contains all business logic, the Entities, Events and any other object type that contains Business Logic
- Infrastructure: The technical capabilities that support the layers above, ie. persistence or messaging.