Domanda

Sto cercando di capire i concetti alla base di DDD, ma trovo difficile capire solo leggendo libri poiché tendono a discutere l'argomento in modo piuttosto astratto. Vorrei vedere alcune buone implementazioni di DDD nel codice, preferibilmente in C #.

Esistono buoni esempi di progetti che praticano DDD nel mondo open source?

È stato utile?

Soluzione

Eric Evans e una società di consulenza svedese hanno rilasciato un'applicazione di esempio basata sull'esempio di spedizione che Eric utilizza in tutto il libro. È in Java, ma i concetti sono ben documentati nella pagina del progetto.

http://dddsample.sourceforge.net/

Tuttavia, tieni presente che DDD riguarda più il viaggio che la destinazione. Comprendi che il codice di esempio che stai cercando ha assunto molte forme prima che diventasse quello che vedi ora. Non hai visto i modelli imbarazzanti che sono stati utilizzati inizialmente e ti mancano i passaggi per riformattare il modello in base alle informazioni acquisite lungo il percorso. Mentre i mattoni sono importanti in DDD, Eric crede che siano troppo enfatizzati, quindi prendi tutti i campioni con un granello di sale.

Altri suggerimenti

Non sono sicuro di quanto sia completo, ma ho trovato il NDDD Sample sul codice di Google.

Sono sorpreso che nessuno abbia menzionato Macto , campione DDD di Ayende. La cosa più importante di Macto è che il processo di riflessione sui buchi prima della codifica effettiva sia presentato in una serie di post . DDD non riguarda l'implementazione di un modello, ma la modellazione di un dominio aziendale. Decisioni come "qualche concetto è un oggetto aggregato radice / entità / valore" sono molto più importanti di come sarà persistente un AR.

Vorrei anche raccomandare i video di Udi Dahan su SOA e CQRS che potrebbero fornire un contesto migliore su cui applicare DDD.

Questo non è un progetto open source, ma è comunque un esempio nel codice: http: // www. codeplex.com/dddpds

L'esempio è usato nel libro .NET Domain-Driven Design con C #: Problem-Design-Solution


Un esempio inventato che sembra promettente ma potrebbe essere morto: http://www.codeplex.com/domaindrivendesign

Temo che http://www.codeplex.com/domaindrivendesign sia davvero morto , ma se qualcuno è interessato a contribuire non esitare a contattarmi.

Nel complesso, consiglierei di non fare troppo affidamento sugli esempi di DDD, nella migliore delle ipotesi gli esempi possono mostrare i risultati della modellazione del dominio e / o un approccio per implementare i modelli. Consiglio quindi di leggere il libro e di porre domande al forum .

http://kigg.codeplex.com/ è un buon esempio per me.

So che non è C #, ma questo è un meta-framework java che segue un approccio guidato dal dominio: non ne so molto ma sono disposto a studiarlo nel prossimo futuro: Roma Framework

http://sellandbuy.codeplex.com/

un altro progetto DDD

Una buona lettura è il libro di Jimmi Nilssons (e blog del resto) Applicazione del design guidato dal dominio

È una miscela di libri su Evans e Fowlers ( Domain-Driven Design - Evans) e ( Patterns of Enterprise Application Architecture - Fowler)

Non ne ho usato nessuno, ma ci sono alcuni strumenti menzionati nella pagina di DDD Wikipedia. Tuttavia, la maggior parte sembra essere implementata in Java.

http://en.wikipedia.org/wiki/Domain-driven_design # Software_tools_to_support_domain-driven_design

Ok, l'ho trovato, ma Java non è C #:
http://timeandmoney.domainlanguage.com/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top