DDD-Lite è un linguaggio di pattern per l'iniezione di dipendenza?

16

Mi sono imbattuto nel discorso di Greg Young 7 motivi per cui i progetti DDD falliscono dove menziona qualcosa che chiama DDD- Lite alle 7:20.

Riassumendo, in pratica dice che alcuni usano DDD come un linguaggio di pattern (entità, repository, oggetti valore, servizi, ecc.) senza fare altro collegato a DDD. Postula il 60% o più di modelli di dominio in .Net sono DDD-Lite. Pensa che DDD-Lite stia fondamentalmente costruendo un linguaggio attorno all'iniezione delle dipendenze, qualcosa che non devi davvero fare. Dice che entrambi fanno DDD interamente o fanno qualcosa di più semplice. Altrimenti sostiene che una persona stia mettendo tutto questo lavoro nella costruzione di buone astrazioni, ma senza reali benefici.

Devo ammettere che non ne so molto del DDD come vorrei e non ho ancora provato a usarlo. Nemmeno io ho letto il libro di Eric Evan. Sono molto più interessato a Dependency Injection e molti, molti libri e blog su questo argomento usano termini e concetti di riferimento dal libro DDD di Eric Evans. Questo è dove sono stato esposto ai concetti di DDD. I libri che ho letto che fanno questo includono:

  • Iniezione delle dipendenze in .NET
  • Microsoft .Net: Architecting Applications for the Enterprise
  • Sviluppo applicazioni brownfield in .NET

Se uno vuole fare Dependency Injection, quali sono le alternative più semplici rispetto a "DDD-Lite?" Sembra che costruire astrazioni buone sia abbastanza utile a prescindere dal fatto che si stiano usando concetti di DDD in un modo "DDD-Lite". (vedi i post del blog di Mark Seemann: Le interfacce non sono astrazioni , e Intraprende astrazioni migliori ). Ho difficoltà a credere che tutti coloro che fanno uso di Dipendenza Iniezione capiti anche di fare (o ha bisogno di fare) DDD a tutti gli effetti. Ho in qualche modo frainteso l'argomento di Greg Young riguardo DDD-Lite?

    
posta Matt 08.11.2011 - 20:59
fonte

2 risposte

14

Iniezione delle dipendenze e DDD sono due concetti disgiunti. Fare Iniezione delle Dipendenze non richiede di fare DDD, né DDD richiede Iniezione delle Dipendenze.

Molti progetti DDD falliscono perché scelgono i pattern ma trascurano il processo alla base del DDD. Non impiegano il tempo per estrarre le regole aziendali. Non si concentrano sul modello di dominio e sulle astrazioni attente. Non stabiliscono un linguaggio onnipresente.

In breve: immagino che sia un malinteso

    
risposta data 08.11.2011 - 21:18
fonte
2

Scommetto che Greg si riferisce alla semplice applicazione se un sottoinsieme di pattern di progettazione basati sul dominio invece dell'intero approccio DDD. Il termine DDD-Lite si riferisce implicitamente al libro link che era popolare tra i neofiti del DDD, ma non perdete l'intera immagine concentrandovi solo sugli schemi di modellazione locale.

Sebbene l'iniezione di dipendenza sia considerata una buona cosa, non esiste una strong correlazione tra DDD e DI.

    
risposta data 10.11.2011 - 15:58
fonte