Service
Services are the operational layer of the project.
Why services exist
They provide the intended way to interact with a system or concept.
Instead of letting every part of the code or tooling manipulate raw data directly, services expose the approved behavior for that domain area.
What makes a service different
Compared with data or repositories, services are responsible for doing work.
They often:
- enforce rules
- coordinate scene interactions
- expose higher-level operations
- hide internal implementation details behind interfaces
Why this helps users and integrators
When responsibilities are clear, it becomes easier to answer questions like:
- which system owns this behavior?
- which object should I inspect first?
- where should a new integration point live?
Practical rule of thumb
If you are trying to understand how a feature behaves, the service layer is usually the right place to look after you understand the data it works with.