Progettazione guidata dal dominio – Programmazione DDD

5 minuti di lettura
Progettazione guidata dal dominio – Programmazione DDD
Immagine: Dragoscondrea | Dreamstime
Condividere

Con l’avanzare della tecnologia dell’informazione e lo sviluppo di nuovi software, le aziende cercano sempre più modi per creare in tempi relativamente brevi applicazioni e sistemi sicuri che coprano tutte le condizioni e siano facili da testare e sviluppare. Attraverso tentativi ed errori, è stato creato un approccio che è visto da molte organizzazioni come il modo ideale per creare software.

Riguarda il Domain Driven Design. Qual è esattamente questo approccio allo sviluppo del software in azienda?

Domain Driven Design (nome abbreviato DDD): qual è questo approccio?

All’inizio, vale la pena definire quale sia esattamente l’approccio DDD. È un modo di costruire applicazioni e sistemi che dovrebbero riflettere fondamentalmente le esigenze del business – presupposti aziendali che allo stesso tempo diventano prerequisiti inclusi nel software.

Domain Driven Design è una tecnica di sviluppo software utilizzata nei più grandi sistemi informativi aziendali.

Quali sono gli input alla base del metodo DDD? Innanzitutto, la progettazione di qualsiasi software dovrebbe basarsi su una cooperazione paritaria tra i programmatori e le persone direttamente legate al business, che allo stesso tempo sono il consumatore target della soluzione. La seconda condizione per la realizzazione di sistemi utilizzando il metodo DDD è la progettazione della logica di progetto sotto forma di domini.

Domain Driven Design
Immagine: Juthamat Yamuangmorn | Dreamstime

Che cos’è un dominio? In poche parole, questa è una specifica area di business che deve essere implementata. Un’area che deve essere migliorata con software appena creato o sviluppato. A seconda dell’importanza e dell’essenza di un particolare concetto e funzionalità, possiamo dividere i domini in:

  • I domini principali, che sono la parte più importante del sistema e sono responsabili delle funzionalità più importanti.
  • Domini di supporto, che sono estensioni del dominio principale: senza di esso, i domini di supporto non valgono nulla.
  • Domini comuni, che sono funzionalità importanti ma opzionali.

In cosa consiste il DDD?

Il processo di creazione di nuovo software basato sui principi del Domain Driven Design è in qualche modo diverso dall’approccio tradizionale allo sviluppo del software, che include una serie di problemi tecnici relativi all’elaborazione della meccanica, all’input e all’output dei dati, alla comunicazione con il server, al database e integrazione con altri strumenti, utilizzati dall’organizzazione.

UX Design – Progettazione dell’esperienza utente
UX Design – Progettazione dell’esperienza utente
4 minuti di lettura
Ratmir Belov
Journalist-writer

La programmazione DDD consiste principalmente in modelli di dominio (dominio principale, secondario e generale) che contengono un’implementazione molto semplice dei parametri aziendali che dovrebbero essere inclusi nel software. È molto importante che il programmatore responsabile dello sviluppo del codice comprenda a fondo lo scopo della creazione di nuovo software e comprenda il valore che il dominio comporta. DDD non può fare a meno di definire un linguaggio che consentirà agli esperti di dominio e ai programmatori di comprendere facilmente quel linguaggio. Per questo approccio, questa lingua è stata chiamata la lingua onnipresente.

Quali difficoltà possono sorgere quando si utilizza l’approccio Domain Driven Design?

Qual è il problema più grande con l’utilizzo del metodo DDD? Prima di tutto, è la comunicazione tra il business e il lato tecnico. Come regola generale, in un approccio DDD dovrebbe sempre esserci spazio per un esperto di dominio che abbia una conoscenza approfondita dell’approccio e agirà come un “compilatore” nelle comunicazioni aziendali e IT a pieno titolo.

Domain Driven Design
Immagine: Seventyfourimages | Dreamstime

A causa della percentuale relativamente piccola di progetti creati utilizzando il metodo DDD, è molto difficile trovare una persona che possa assumere un ruolo del genere con piena dedizione. Anche la mancanza di esperienza per i programmatori nella creazione utilizzando la metodologia DDD può causare ulteriori difficoltà.

Vantaggi e svantaggi dell’approccio DDD

Iniziamo con i vantaggi dell’utilizzo di un approccio Domain Driven Design durante la creazione di nuovo software. Prima di tutto, è un’ottima soluzione per progetti complessi in cui il numero di funzionalità, obiettivi di implementazione e livelli diversi è così grande che è difficile catturarlo concettualmente in un design di applicazione tradizionale. L’approccio DDD soddisfa le reali esigenze del business – non c’è spazio per le mezze misure – se il dominio è correttamente interpretato dal programmatore, sarà implementato nel pieno rispetto delle esigenze dell’utente finale. Vale anche la pena notare il costo relativamente basso di sviluppo dell’applicazione, che è stata creata in conformità con l’approccio DDD sin dall’inizio.

Infografica – l’arte di presentare informazioni
Infografica – l’arte di presentare informazioni
6 minuti di lettura
Ratmir Belov
Journalist-writer

Quali sono gli svantaggi dell’utilizzo di questa tecnica? Lo svantaggio principale è la poca pratica nell’utilizzo di questo modo di sviluppare nuovo software. Per questo motivo, l’inizio di una nuova strategia, dal punto di vista del team di progetto, comporta il rischio di una completa incomprensione del concetto e, di conseguenza, di fallimento.

Il costo di produzione iniziale per la progettazione e la realizzazione di un’applicazione utilizzando la metodologia DDD è più elevato, il che incide sicuramente sulla piccola percentuale di progetti implementati in questo modo.

Come utilizzare DDD nel mio progetto?

Affinché DDD sia pratico nel nostro progetto, dobbiamo effettivamente iniziare da zero. Non è possibile adottare parzialmente un concetto di Domain Driven Design in cui il resto del modello sarà progettato in modo tradizionale. In questo caso, la soddisfazione per il prodotto finale sarà bassa sia dal team IT che dall’utente finale.

È molto importante trovare un esperto di dominio prima di iniziare a lavorare che conosca le specifiche dell’azienda, le sue esigenze e le traduca in istruzioni chiare per gli sviluppatori. La scelta della tecnologia di sviluppo delle applicazioni nel caso di lavoro con DDD passa davvero in secondo piano.
Voto articolo
0,0
0 valutazioni
Valuta questo articolo
Ratmir Belov
Per favore scrivi la tua opinione su questo argomento:
avatar
  Notifiche sui commenti  
Notifica di
Ratmir Belov
Leggi gli altri miei articoli:
Contenuto Vota Commenti
Condividere

Potrebbe piacerti anche