Domain-Driven Design

Che cos’è il Domain-Driven Design?

Domain-Driven Design (DDD) è un metodo per sviluppare la comprensione di un team di un problema. Enfatizza il fatto di porre il focus primario di un progetto sull’area centrale del business (il core domain). Questo spesso prende la forma di workshop facilitati con esperti del dominio e lo sviluppo di un insieme condiviso di modelli concettuali. DDD ha l’ulteriore vantaggio di creare una comprensione condivisa (linguaggio onnipresente) tra i team durante la progettazione di soluzioni tecniche.

L’abile facilitazione delle sessioni di modellazione del dominio aiuta i nostri clienti a comprendere il loro dominio. Attraverso esercizi collaborativi di domain modelling, lavoriamo con gli stakeholder per ottenere un’ampia comprensione del dominio di destinazione. Di solito ci concentriamo sugli elementi di alto valore del dominio, raffinando e convalidando iterativamente i modelli per raggiungere il giusto livello di dettaglio per fornire il massimo valore di business.

Il mio progetto trarrebbe beneficio dal design Domain-Driven?

I motivi comuni per cui si dovrebbe guardare al Domain Driven development sarebbero progetti che hanno bisogno di distillare la conoscenza degli esperti di dominio in un prodotto. Questi tipi di progetti possono spesso soffrire di una disconnessione nella comprensione del dominio. Scoprire questa disconnessione nel codice o nei modelli di dati è costoso da risolvere. DDD può risolvere questo problema affrontando le differenze nella comprensione del dominio prima che inizi l’implementazione. Può creare un perfetto ponte di comprensione tra gli stakeholder del business, lo spazio dei problemi e i team tecnici.

Un’altra applicazione del DDD è nei progetti che richiedono una forte architettura dell’informazione. Dove l’intenzione è di organizzare un prodotto intorno alle entità e alle relazioni del dominio. Questo è spesso visto in approcci che si basano su tassonomie o grafi di conoscenza.

Vediamo il Domain-Driven Design come un punto di partenza critico per tutte le nostre implementazioni di grafi di conoscenza, e sulla maggior parte dei nostri impegni di progetto, incluso lo sviluppo dei nostri prodotti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.