Application Layer¶
Application Layer must hold all components needed to support use-cases for the application's specific purposes. Those components act as a bridge between the Presentation Layer and the Domain Layer. They may have application logic but no business logic is allowed to put outside the boundaries of domain entities.
Defining what application logic means is not hard, when you have your Domain Layer clearly defined! So work on that first, define how your entities are supposed to work.
The Application Layer coordinates the Domain Entities Infrastructure Layer. It
implements a feature, like creating an entity, by literally doing new Entity()
and then calling a repository to store it into the database.
In a vanilla ASP.NET Application, you will usually have your Application Logic either in a separate service, or in Controllers themselves. When working with Suite Applications, we can simply define the Application Logic in services, and the Suite will automatically expose these as Controllers, or other Presentation Layer in the future maybe.
You can read the implementation details of Application Services here