settembre 2015 Blog Posts
Se abbiamo detto che sincrono e asincrono sono la stessa cosa, su quale base possiamo ritenere affidabile il modello in lettura? Abbiamo però anche detto che il modello in lettura è la verità per l’utente, o in maniera più generica, per il chiamante. Ripartiamo da dove ci siamo fermati: chiedere al sistema l’elenco di tutti i clienti insolventi; se vi sono clienti involventi; avviare una pratica di recupero crediti con tutti i clienti insolventi; Quale dovrebbe essere l’approccio? chiedere al...
Trovo più interessante insistere su questo punto, piuttosto che sulla separazione tra canale di scrittura e canale di lettura. Le query in CQRS non cambiano la verità. Ci sono due informazioni importantissime in quella affermazione: cambiamento e verità. Se l’unico modo per avere informazioni è attraverso una query sul modello in lettura significa che il modello in lettura rappresenta la verità. Questo in apparenza è in netto contrasto con il concetto di Aggregato di DDD, che è il detentore della verità e delle invarianti, e dal punto di vista CQRS il destinatario di comandi. Quello che...
O peggio…mi basta avere una classe che implementa l’interfaccia IAggregate, che espone una proprietà Id. DDD è filosofia prima di tutto, la tecnologia ci azzecca poco o nulla. Potremmo prendere il 90% di quello che ci dice DDD e applicarlo al mondo dell’organizzazione aziendale e funzionerebbe lo stesso. Quando approcciamo DDD dobbiamo dimenticarci di essere dei tecnici, dobbiamo smettere di fare l’immediato collegamento con “come lo implementeremo”, DDD è principalmente un processo di apprendimento, se saltiamo tutta la parte di apprendimento DDD non serve proprio ad un bel nulla, semplicemente complicherà in maniera colossale la parte tecnico/tecnologica del...