This document discusses domain services in domain-driven design. There are three main roles in a domain: entity, value object, and domain service. A domain service represents a stateless operation that fulfills a domain-specific task. It is used when an operation cannot be defined on an entity or value object. Domain services should use names from the ubiquitous language and may invoke repositories. Examples demonstrate using services for authentication, calculating business priorities across multiple objects, and translating between domains. Services should be used for significant business processes, calculations requiring multiple objects, or object transformations, but overusing them can lead to an anemic domain model.