Service

Excerpted from Domain-Driven Design Book

Definition: A Service is an operation offered as an interface that stands alone in the model, with no encapsulated state.

Problem: Some concepts from the domain aren't natural to model as objects. Forcing the required domain functionality to be the responsibility of an Entity or Value Object either distorts the definition of a model-based object or adds meaningless artificial objects.

Solution: When a significant process or transformation in the domain is not a natural responsibility of an Entity or Value Object, add an operation to the model as a standalone interface declared as a Service. Define the interface in terms of the language of the model and make sure the operation name is part of the Ubiquitous Language. Make the Service stateless.