agosto 2012 Blog Posts
Ho il conto online, e sono oramai vari mesi che, quando viene emessa la fattura, mi sveglio e vedo la mail che mi indica che il conto è disponibile online, posso vederlo etc etc ma quando vado sul p@goonline mi dice che non ci sono conti da saldare. Solitamente si impiega almeno una giornata prima che la fattura che è già disponibile nell’area clienti sia pagabile online con il sistema di pago online, anche in questo caso il sistema è asincrono e per l’utente non è un grande problema. Oramai ci sono cosi abituato che quando arriva la mail...
In CQRS ma in generale in DDD è buona norma identificare il concetto di AggregateRoot con una classe specifica, e se fate EVENT SOURCING è una funzionalità praticamente obbligatoria, perchè l’AR si occupa anche di gestire il dispatch dei DOMAIN EVENTS sia agli eventy Applyer, sia anche al mondo esterno. In questo caso molto spesso si tende a dotare la classe base astratta AggregateRoot di un Id che solitamente è di tipo GUID, oppure di tipizzarla con un generics su T in modo che T identifichi il tipo di dato usato per l’id. In questi gg sto “giocando” un...
Sebbene sia possibile adottare approcci CQRS su architetture classiche è indubbio che il paradigma CQRS va a braccetto con il concetto di DOMAIN EVENT, questo perché è possibile costruire i QueryModel direttamente elaborando lo stream di eventi del dominio, azzerando di fatto ogni dipendenza dello storage e soprattutto applicando logiche di generazione del QueryModel (Denormalizzatori) su eventi del “passato”. In questo piccolo esempio fatto su GitHub su cui stiamo giocando io, Alessandro ed Andrea un esempio molto semplice e primitivo di gestione di querymodel viene fatto su una struttura basata su EventSourcing, dove lo storage è gestito dalla libreria...