2010-11-03 15 views
6

Il modello di specifica è un modello comune utilizzato in DDD che incapsula la logica aziendale per rispondere a una domanda.Quali sono i pattern DDD (Domain-Driven Design) comuni?

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

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

Quali altri schemi sono comuni nella progettazione basata su domini?

risposta

4

vi consiglio di InfoQ Domain Driven Design Quickly, che fa un buon lavoro di distillare il libro (anche) più lungo di Eric Evans. Sulla base @ risposta di Pangea, l'elenco degli oggetti merita qualche descrizione:

  • Repository: incapsula la persistenza e la ricerca - tipicamente banca dati
  • Servizio: entità API senza stato utilizzato per la radice aggregato CRUD
  • Aggregate Root: un'entità le cui altre entità composte figlio non hanno un significato appropriato senza di essa - forse l'aspetto più importante dal punto di vista dell'API quando si parla di DDD
  • Oggetto valore: entità il cui stato non cambia dopo l'istanziazione (ad es. Colore), particolarmente utile nella programmazione multithreaded perché l'utilizzo di tali elimina problemi di concorrenza
+0

è troppo breve non troppo lungo –