DDD / Ottimizzazione di un servizio specifico appartenente a uno specifico contesto limitato riguardante l'hardware

1

Ben nota è la suddivisione di un'intera applicazione in diversi contesti limitati per la visualizzazione di un Linguaggio informale. durante la pratica del Domain-Driven Design.

In generale, 1 contesto limitato = 1 file di archivio pronto per essere distribuito (JAR / EAR / DLL ecc.)

La mia domanda riguarda la distribuzione dei contesti limitati relativa all'ottimizzazione dell'hardware:

Supponiamo di voler ottimizzare un servizio specifico all'interno di uno specifico contesto limitato (l'ottimizzazione potrebbe essere una CPU più potente, più RAM, ecc.), è una buona pratica creare un file di archivio specifico solo per esso? Significato per dividere ulteriormente il contesto limitato iniziale. Quindi, al fine di consegnarlo su un hardware specifico per il suo utilizzo.

O dovrei considerare 1 contesto limitato come un'unità indivisibile e quindi ottimizzare il contesto limitato nel suo complesso anche se alcuni servizi specifici non hanno bisogno di questo aumento della potenza dell'hardware?

    
posta Mik378 20.04.2014 - 14:48
fonte

1 risposta

1

Considero l'implementazione del software (ovvero la scrittura del codice) come qualcosa di diverso rispetto al progetto concettuale. Il design concettuale è lì per vedere come tutti i componenti del software lavorano insieme. Tuttavia, una buona progettazione concettuale consentirà sempre di modificare l'implementazione sottostante per soddisfare i requisiti di prestazioni e affidabilità del software e non necessariamente dovrà riflettere i dettagli di implementazione nella progettazione di livello superiore.

Quando progetti un'auto, sai che avrà un telaio, ruote e un motore. Fa parte del design di alto livello. Le ruote saranno rotonde e probabilmente saranno fatte di gomma vulcanizzata. Ma i valori di velocità e chilometraggio delle gomme sono dettagli di implementazione, così come le specifiche del motore.

In breve, la progettazione generale non dovrebbe cambiare in base a una modifica hardware oa una modifica dell'infrastruttura. I buoni design di alto livello sono indipendenti da tali dettagli.

    
risposta data 21.04.2014 - 17:19
fonte