I due acronimi, DDD e CQRS, stanno troppo spesso nella stessa frase e sempre più spesso mi rendo conto che per le persone devono andare a braccetto: nulla di più sbagliato.

DDD ha uno scopo, per certi versi molto filosofico e aulico, che gira intorno al concetto di comprensione e/o processo di apprendimento, DDD si prefigge di permetterci di disegnare un modello di dominio che sia il più fedele possibile al modello analitico che vogliamo maneggiare.

Il modello analitico è frutto del processo di apprendimento, o di analisi, che una serie di attori, i domain expert(s) (notare il plurale), di pratiche, come il context mapping, e di strumenti (passatemi il termine), come l’ubiquitous language, ci aiutano a generare.

CQRS ha uno scopo ben diverso, e per certi aspetti drammaticamente più semplice: farci comprendere quanto sia importante che una query non cambi la verità.

Ammettetelo, non vi aspettavate quella definizione di CQRS :-)

Ora, che i due quando usati insieme e con grano salis siano un’accoppiata perfetta non vi è dubbio, ma allo stesso tempo non c’è scritto da nessuna parte che debba succedere.

.m