2008-09-30 3 views
25

Ich versuche, die Konzepte hinter DDD zu verstehen, aber ich finde es schwer zu verstehen, nur durch das Lesen von Büchern, wie sie dazu neigen, das Thema auf eine eher abstrakte Art und Weise zu diskutieren. Ich würde gerne einige gute Implementierungen von DDD im Code sehen, vorzugsweise in C#.Gibt es Open-Source-Projekte mit DDD (Domain Driven Design)?

Gibt es gute Beispiele für Projekte, die DDD in der Open-Source-Welt praktizieren?

Antwort

15

Eric Evans und ein schwedisches Beratungsunternehmen haben eine Beispielanwendung basierend auf dem Versandbeispiel veröffentlicht, das Eric im gesamten Buch verwendet. Es ist in Java, aber die Konzepte sind auf der Projektseite gut dokumentiert.

http://dddsample.sourceforge.net/

jedoch gewarnt, dass DDD mehr über die Reise ist als das Ziel. Verstehen Sie, dass der Beispielcode, den Sie suchen, viele Formen angenommen hat, bevor er zu dem wurde, was Sie jetzt sehen. Sie haben die umständlichen Modelle, die ursprünglich verwendet wurden, nicht gesehen und Sie haben die Schritte übersehen, die zur Umgestaltung des Modells auf der Grundlage der gewonnenen Erkenntnisse unternommen wurden. Während die Bausteine ​​in DDD wichtig sind, glaubt Eric, dass sie überbetont sind, also nehmen Sie alle Proben mit einem Körnchen Salz.

+0

Das Beispiel wurde nach C# portiert. Siehe Lance Fishers Antworten für den Link. –

+2

+1 @stefan ist direkt auf das Geld, ddd geht es nicht um die Bausteinmuster, es geht nicht darum Framework x über Framework y zu verwenden. Es geht darum, ständig zu fragen, ob dieses Modell mir hilft, die Kernprobleme in meiner Domäne zu lösen. Modelle sind keine universellen Repräsentationen von "Wahrheit" oder "Realität", sie existieren, um ein spezifisches Problem zu lösen. mach das richtig und mach dir keine Sorgen um den Rest, es sind alles nur Details. –

+0

Ich glaube, dass dieses Projekt auch gestorben ist. Es ist eine Schande, denn es ist diejenige, die ich am meisten mag. Sehr einfach, geradlinig, prägnant, obwohl es einige Verstöße gegen das Buch gibt (wie zum Beispiel ein Wertobjekt in einem Aggregat, ein anderes Wertobjekt in einem anderen Aggregat), ist es insgesamt ein ausgezeichneter Leitfaden. –

2

ich habe Angst, dass http://www.codeplex.com/domaindrivendesign tatsächlich gestorben ist, aber wenn jemand interessiert sich für mich gerne einen Beitrag zu kontaktieren.

Insgesamt würde ich empfehlen, sich zu sehr auf Beispiele von DDD zu verlassen, bestenfalls Beispiele können die Ergebnisse der Domänenmodellierung und/oder einen Ansatz zur Implementierung der Muster zeigen. Ich würde daher empfehlen, das Buch zu lesen und dann Fragen an die forum zu stellen.

+0

schön, danke für den forum link. – PositiveGuy

10

Ich bin mir nicht sicher, wie vollständig es ist, aber ich fand die NDDD Sample auf Google Code.

+0

Ich glaube, dass dieses Projekt auch gestorben ist. Es ist eine Schande, denn es ist diejenige, die ich am meisten mag. Sehr einfach, geradlinig, prägnant, obwohl es einige Verstöße gegen das Buch gibt (wie zum Beispiel ein Wertobjekt in einem Aggregat, ein anderes Wertobjekt in einem anderen Aggregat), ist es insgesamt ein ausgezeichneter Leitfaden. –

1

Ich weiß es nicht C#, aber dies ist ein Java-Meta-Framework, das eine Domäne orientierten Ansatz folgt: Ich weiß darüber nicht viel, aber ich bin bereit, es in naher Zukunft zu studieren: Roma Framework

5

ich bin niemand überrascht erwähnt Macto, Probe Ayende der DDD. Das Wichtigste an Macto ist, dass der Loch-Denkprozess vor der eigentlichen Codierung in einer dargestellt wird. Bei DDD geht es nicht um die Implementierung eines Modells, es geht darum, eine Geschäftsdomäne zu modellieren. Entscheidungen wie "irgendein Konzept ist eine aggregierte Wurzel/Entität/Wertobjekt" sind viel wichtiger als die Frage, wie ein AR erhalten werden soll.

Auch würde ich Udi Dahans Videos über SOA und CQRS empfehlen, die einen besseren Kontext für die Anwendung von DDD bieten könnten.

+0

Macto ist unvollständig. Er hat es nie beendet. Er prahlte damit, nach einer Reihe von Blogs (sehr destruktive Kritiker) über NLayerApp von Microsoft Spanien ... aber am Ende des Tages kam er zu kurz. Er sagte, er sei zu beschäftigt, was ich nicht bezweifle, der Typ ist wirklich gut in dem, was er tut, und seine Arroganz (ein Loch) ist ebenso proportional. –

Verwandte Themen