Domain-Driven Design
> >
Services

Excerpted from DomainDrivenDesignBook

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 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 ValueObject, 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 UbiquitousLanguage. Make the Service stateless.

See also: Service

Services is mentioned on: Service | JBRainsberger | ThreadView | PersistenceAndLayers | MessagesByTopic | OpenHostService | DDDandJ2EE | TerminologyQuestionOnValueObjectsAndEntities | TimeConsciousObjects | DomainLayerAccessFromJSPsAndHandlers | RepresentingTheDomainInXSD | WhatIsADomainModel | ChoosingBetweenEntityAndValueObjects | HistoryOfTransparentPersistence | ADesignCallingForAFacadeSolution | OOModels | StreamlinedObjectModeling | TypesAndSematicIntegration | RepositoryAndUnitOfWork | BigPicture



VeryQuickWiki Version 2.6.3 - HTML Export