Alkampfer's Place

Il blog di Gian Maria Ricci
posts - 659, comments - 871, trackbacks - 80

My Links

News

Gian Maria Ricci Mvp Logo CCSVI in Multiple Sclerosis

English Blog

Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

I miei siti

Siti utili

DDD

Un pattern non è per sempre (o ovunque)

Questa mia convinzione è valida in molte situazioni ed per molti progetti, dove spesso nel team esiste la convinzione che: le tecnologie usate in un software debbano per forza essere omogenee ed utilizzate dappertutto. Un palese esempio di questa sindrome si ha quando le obiezioni all’uso di Nhibernate o Entity Framework sono: “cosa succede poi se una query non riusciamo a farla in LINQ o con HQL?”, oppure “non conviene perché poi sappiamo che per i report o per le operazioni massive un ORM non è adatto”. Il problema alla base di queste obiezioni è principalmente questo: se si...

posted @ mercoledì 11 giugno 2014 10:03 | Feedback (1) | Filed Under [ DDD ]

Che tipo di Id uso per l’Aggregate Root

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...

posted @ giovedì 16 agosto 2012 11:37 | Feedback (4) | Filed Under [ DDD ]

Il vantaggio di ragionare ad Eventi

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...

posted @ sabato 4 agosto 2012 11:58 | Feedback (0) | Filed Under [ DDD ]

CSDD–programming pornography

In realtà la frase “programming pornography” la ho sentita da Greg Young durante il DDD Day, ma si allinea ad uno degli altri importanti concetti che sono emersi durante il campus DDD. In questo caso Alberto ha sottolineato il fatto di come nelle discussioni nei gruppi DDD troppo spesso si parla di tecnicismi e nella maggioranza dei casi si parla quasi sempre di ORM. Il concetto in questo caso è che il vantaggio maggiore del DDD è il metodo di approcciare il problema, ovvero cercare di sviscerare le logiche ed individuare le Entità che possono meglio modellare le logiche...

posted @ lunedì 31 ottobre 2011 13:33 | Feedback (4) | Filed Under [ DDD ]

CSDD–Aggregate root

Dopo la prima lettura del libro di Evans (e vi assicuro che vale la pena di leggerlo almeno due volte), uno dei principi che maggiormente ho apprezzato è senza dubbio quello dell’AGGREGATE ROOT e degli AGGREGATES in generale. An aggregate is a cluster of associated objects that we treat as a unit for the purpose of data changes.     L’importanza di questo pattern è la stessa del BOUNDED CONTEXT perchè porta alla riduzione della complessità, limitando la possibilità di instaurare relazioni tra gli oggetti. Il livello di granularità di frazionamento di questo pattern è minore del...

posted @ martedì 18 ottobre 2011 21:01 | Feedback (3) | Filed Under [ DDD ]

Considerazioni sul campus #CSDDD

Questo fine settimana, il sottoscritto ed altre strane persone :), si sono chiuse in un agriturismo marchigiano e sotto la guida di ZioBrando hanno passato tutto il fine settimana a parlare di DDD. (trovate alcune foto nel mio profilo facebook). L’esperienza è stata decisamente positiva, diciamo che mi sono convinto ancora di più che il DDD sia applicabile in molti più scenari di quello che pensavo. L’unica pecca è stata l’avere scritto poco codice e sostanzialmente ce ne siamo andati con ancora alcuni dubbi a livello “implementativo”, del tipo, come faccio cosa? Un handler di un domain event ha...

posted @ martedì 6 settembre 2011 10:32 | Feedback (0) | Filed Under [ DDD ]

Repository, altre considerazioni

In un thread su guisa si è un po parlato di costruttori e persistenza. Sempre continuando il discorso del repository, volevo dare la mia opinione su come i costruttori si legano al repository. Come anche Fowler dice, la costruzione di un oggetto non è pertinenza del repository, ma il repository ha il seguente scopo Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. Per questa ragione il ciclo di vita di un oggetto è il seguente: chiamando uno dei costruttori o un metodo factory si crea una nuova istanza, questa nuova istanza è transiente per...

posted @ venerdì 28 settembre 2007 16:00 | Feedback (0) | Filed Under [ DDD ]

Repository e LINQ

Premesso che sono alle prime armi con LINQ, in questo post faccio vedere una prima ipotesi di come il nostro repository possa dare funzionalità di query per LINQ grazie al progetto LINQ to NHIbernate. Alk.

posted @ venerdì 10 agosto 2007 18:10 | Feedback (0) | Filed Under [ DDD ]

Repository – Fluent Query Interface

Quarta parte degli articoli sul repository.

posted @ martedì 7 agosto 2007 15:52 | Feedback (1) | Filed Under [ DDD ]

Repository non generico

Terza parte della serie di post su come realizzare un repository pattern.

posted @ lunedì 6 agosto 2007 18:47 | Feedback (3) | Filed Under [ DDD ]

Gestire un repository Generico [1]

seconda parte del post sull'argomento "repository pattern" Alk.

posted @ domenica 5 agosto 2007 11:05 | Feedback (4) | Filed Under [ DDD ]

Gestire un repository generico

Prima parte di una serie di post sull'argomento "repository Pattern" In relazione ad un thread aperto su guisa. (http://www.guisa.it/forums/1258/ShowThread.aspx#1258) Alk.

posted @ domenica 5 agosto 2007 11:01 | Feedback (5) | Filed Under [ DDD ]

Powered by:
Powered By Subtext Powered By ASP.NET