Che cosa è un modello di dominio?

Un modello di dominio è una panoramica schema simile di un problema specifico utilizzato nei campi del software e concettuale problem solving. Lo scopo di questo modello è quello di rompere un problema specifico nelle sue parti componenti, creando una rappresentazione visiva di come un processo specifico opera. Attraverso l'uso di modelli di dominio, ingegneri del software in grado di garantire che comprendano tutti gli elementi di un problema prima di iniziare a codificare una soluzione o implementare in un pezzo di software, si spera di risparmiare tempo, costi, e lo sforzo nel completamento del progetto complessivo.

Un diagramma di flusso è una buona rappresentazione di un modello di dominio, in quanto mostra come i diversi soggetti coinvolti in un particolare problema di blocco con un altro. In un diagramma di flusso, tutte le diverse parti di un puzzle sono collegati insieme in modo logico. Ad esempio, nel contesto di una disposizione di assicurazione, mentre sia l'individuo iniziale riguardava ei suoi figli sarebbero tutti rientrano nella categoria dei "assicurato," i bambini sarebbe anche cadere in un sottoinsieme della classe "assicurato": "carico . " Visivamente la costruzione di queste relazioni possono migliorare la comunicazione su un progetto, aiutando le persone coinvolte a rimanere sulla stessa pagina.

Stabilire i concetti chiave e il vocabolario unico di un problema specifico è uno dei primi passi verso la generazione di un modello di dominio. Dopo aver elencato le diverse classi e sottoclassi coinvolte - come "dipendente", "assicurato" e "piano di assicurazione" - la creazione di un modello di dominio richiede l'modellatore di collegare tali classi in un ordine logico, che mostra come interagiscono tra loro in un base regolare. Ad esempio, "carico", raramente interagire direttamente con la compagnia di assicurazione; tutte le interazioni di un dipendente si procederà attraverso un intermediario, il partito originale assicurato. A causa di questo, la classe di "carico" sarà collegato a "assicurato," e la classe "assicurato" collegato a "piano di assicurazione," senza alcun collegamento diretto tra "persone a carico" e "piano di assicurazione."

Il vantaggio principale di un modello di dominio è che definisce chiaramente e incapsula un problema, senza lasciare nulla fuori. Effettuando questo livello di pianificazione approfondita prima effettivamente iniziare la codifica di un progetto, il problema diventa spesso più facile da risolvere, portando a più chiara, codice più conciso. Senza un modello di dominio, possono verificarsi codice ripetitivo e la disposizione inefficiente di classi e routine. Proprio come il tentativo di scrivere un documento complesso, senza un chiaro schema in anticipo, le cose sono drasticamente semplificate con un buon piano di lavoro.