2010-11-03 9 views
6

Le modèle de spécification est un modèle commun utilisé dans DDD qui encapsule la logique métier pour répondre à une question.Quels sont les modèles courants DDD (Domain-Driven Design)?

public interface ISpecification<T> 
{ 
    bool IsSatisfiedBy(T aSource); 
} 

public class CustomerHaveDiscountSpec : ISpecification<Customer> 
{ 
    bool IsSatisfiedBy(Customer aCustomer) 
    { 
     /* ... */ 
    } 
} 

Quels autres modèles sont courants dans la conception guidée par domaine?

Répondre

4

Je recommande Domain Driven Design Quickly de InfoQ, qui fait un bon travail de distiller le livre plus (aussi) par Eric Evans. S'appuyant sur @ la réponse de la Pangée, la liste des objets mérite une description:

  • Repository: encapsule la persistance et la recherche - généralement la base de données
  • service: entité API sans état utilisé pour CRUD racine globale
  • agrégat Racine: une entité dont les autres entités composites enfant manquent de signification appropriée sans elle - peut-être l'aspect le plus important d'un point de vue API quand on parle de DDD
  • Objet de valeur: entité dont l'état ne change pas après l'instanciation (par ex. Color), particulièrement utile dans la programmation multithread car l'utilisation de ce type élimine les problèmes de concurrence
+0

trop court pas trop long –