Implementieren der DDD-Entitätsklasse in C #

8

Ich fange jetzt erhältlich auf DDD, habe ich festgestellt bereits eine schöne Implementierung für ValueObject aber ich kann nicht jede gute Umsetzung für die Wesen zu finden scheinen, möchte ich eine generische Einheit Typ-Basis, die eine ID haben wird (benötigt durch die Spezifikation) und implementieren Sie korrekte Gleichheitsoperationen.

Was ist die eleganteste Lösung?

    
MindFold 24.02.2010, 13:27
quelle

3 Antworten

18

Das einzige Merkmal einer Entität ist, dass sie eine langlebige und (halb-) dauerhafte Identität hat. Sie können dies einkapseln und ausdrücken, indem Sie IEquatable<T> implementieren. Hier ist ein Weg, es zu tun:

%Vor%     
Mark Seemann 24.02.2010, 13:35
quelle
3

Für die Implementierung von korrekten Gleichheitsoperationen empfehle ich, in Sharparchitecture - Ссылка . Es hat die Implementierung aller erforderlichen Funktionen. Und schauen Sie sich dort einen anderen Code an, IMO, der für Sie und Ihren Fall sehr nützlich sein wird.

    
zihotki 24.02.2010 13:35
quelle
0

Ich bin mir nicht sicher, ob Sie nach einer bestimmten Bibliothek / Beispielcode oder Richtlinien suchen. Eine gute DDD-Lösung verwendet Factory für Instanziierung, Persistenz getrennt vom Domänenmodell (die meisten ORM tendieren dazu, die beiden zusammen zu bündeln), definieren klar Domänengrenzen, erzwingen Felder und Operationen über die Schnittstelle.

Ich würde das Buch Anwenden von DDD und Patterns von Jimmy Nilson wärmstens empfehlen. Es wird ausführlich über DDD und Best Practices diskutiert. Die Beispiele sind auch in C #, was zu Ihrem Projekt passt.

    
Fadrian Sudaman 24.02.2010 13:43
quelle

Tags und Links