Principles
Generic domain function should not be tightly coupled as another domain's service repository method
- Should instead be called as a field in the resolver layer
Layers
Presentation Layer
Handles the user interface and user interactions, presenting information to users and capturing user input
Business-Logic Layer
Intermediate between Presentation
and Data Access
layers.
This layer handles business logic, business rule, and calculations.
- Defines how data from the database can be retrieved and used, what it can perform, and cannot perform.
- Repsonsible for processing and manipulating data before it is presented to the user or stored in the database.
- Run validation to ensure that data meets business rules and constraints.
- Enforce business rules and policies like access control, authorization, and authentication.
Database Layer
Stores, maintains, and manages data structurally and organizationally