Domanda

Ho letto che Domain Driven Design è di circa concentrarsi sul dominio del problema invece di concentrarsi sul software. Si dice che è più facile per risolvere la complessità del dominio del problema che la complessità del software, perché dopo aver risolto il dominio, è meglio sapere come costruire il software, anche. Inoltre si dice che in realtà il dominio è più complessa di quanto le strutture del software o che se non si vede il bosco dal bosco, ci si trova in difficoltà.

Ma come è di dominio Driven Design diverso da usando solo una specifica per il software? Voglio dire, ovviamente dovremmo conoscere il dominio del problema, prima di iniziare a scrivere codice. DDD è reinventare la ruota?

È stato utile?

Soluzione

Domain-Driven Design è più di stabilire un modello comune del mondo (e di un linguaggio comune associato) che sia lei che gli esperti del dominio può usare.

In teoria questo significa che gli sviluppatori possono scrivere codice che si legge come una descrizione del dominio del problema, e gli esperti di dominio possono guardare oltre le spalle degli sviluppatori e vedere cosa sta succedendo.

Una specifica non fa tali promesse su una lingua o modello del mondo comune, si dice solo "stiamo andando a costruire qualcosa di specifico". Il modello di classe altamente specificato si arriva con potrebbe funzionare, ma non può riflettere 'realtà' particolarmente bene.

C'è un buon libro gratuito su Domain-Driven Design qui (login richiesto purtroppo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top