I can’t decide if this is an application service, or a domain service!
Deciding whether a service belongs in the domain or service layer can be a very tough question.
I think it’s important to remember that, just because a class:
- Deals exclusively with objects in the domain model
- Is called in turn by other application services
- Has no dependencies on other non-domain services
…does not make it a domain service.
Try not thinking of it as the domain layer, but as the domain model. The domain model is a very strict abstraction of the business; domain layer is just a tier in your app where the model resides. It’s a small change of words but a big difference in perspective.
Is your service actually part of the domain model, or just manipulating it?