Als «domain-driven-design» getaggte Fragen

Domain-Driven Design (DDD) ist ein Ansatz zur Entwicklung von Software für komplexe Anforderungen, indem die Implementierung mit einem sich entwickelnden Modell verbunden wird.


7
Fördern RESTful-APIs anämische Domänenmodelle?
Ich arbeite an einem Projekt, in dem wir versuchen, sowohl domänenbasiertes Design als auch REST auf eine serviceorientierte Architektur anzuwenden. Wir sorgen uns nicht um 100% REST-Konformität. Es ist wahrscheinlich besser zu sagen, dass wir versuchen, ressourcenorientierte HTTP-APIs zu erstellen ( Stufe 2 von Richardsons REST-Reifegradmodell). Wir versuchen jedoch, die …


10
Verwenden einer GUID als Primärschlüssel
Ich verwende in der Regel Auto-Inkrement-IDs als Primärschlüssel in Datenbanken. Ich versuche, die Vorteile der Verwendung von GUIDs zu lernen. Ich habe diesen Artikel gelesen: https://betterexplained.com/articles/the-quick-guide-to-guids/ Mir ist klar, dass diese GUIDs verwendet werden, um Objekte auf Anwendungsebene zu identifizieren. Werden sie auch als Primärschlüssel auf Datenbankebene gespeichert? Angenommen, ich …

3
DDD-Repositorys im Anwendungs- oder Domänendienst
Ich lerne derzeit DDD und habe einige Fragen zum Verwalten von Repositorys mit DDD. Eigentlich habe ich zwei Möglichkeiten getroffen: Erster Die erste Möglichkeit zum Verwalten von Diensten, die ich gelesen habe, besteht darin, einem Anwendungsdienst ein Repository und ein Domänenmodell hinzuzufügen. Auf diese Weise rufen wir in einer der …


2
Wird ein Unit-Test als spröde angesehen, wenn er bei einer Änderung der Geschäftslogik fehlschlägt?
Bitte beachten Sie den Code unten; Es wird geprüft, ob eine Person mit einem weiblichen Geschlecht zum Angebot berechtigt ist1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } …

1
So wählen Sie aus, ob Sie ein Domänenereignis verwenden oder ob die Anwendungsebene alles orchestrieren soll
Ich mache meine ersten Schritte im bereichsorientierten Design, kaufe das Blue Book und alles und sehe drei Möglichkeiten, um eine bestimmte Lösung zu implementieren. Um es kurz zu machen: Ich verwende weder CQRS noch Event Sourcing. Angenommen, eine Benutzeranforderung wird in die Anwendungsserviceschicht eingegeben. Die Geschäftslogik für diese Anforderung ist …





2
Best Practices für die Serialisierung von DDD-Aggregaten
Laut DDD sollte die Domänenlogik nicht mit technischen Problemen wie Serialisierung, objektrelationaler Zuordnung usw. verschmutzt werden. Wie können Sie also den Aggregatzustand serialisieren oder zuordnen, ohne ihn öffentlich über Getter und Setter verfügbar zu machen? Ich habe viele Beispiele für z. B. Repository-Implementierungen gesehen, aber praktisch alle stützten sich bei …

5
Unit Testing in einer "no setter" Welt
Ich betrachte mich nicht als DDD-Experte, sondern versuche als Lösungsarchitekt, wenn immer möglich, Best Practices anzuwenden. Ich weiß, dass es eine Menge Diskussionen um die Vor- und Nachteile des No-Setter-Stils in DDD gibt, und ich kann beide Seiten des Arguments sehen. Mein Problem ist, dass ich in einem Team mit …

8
Wann ist primitive Obsession kein Codegeruch?
Ich habe in letzter Zeit viele Artikel gelesen, die primitive Obsession als Code-Geruch beschreiben. Es gibt zwei Vorteile, wenn man primitive Obsessionen vermeidet: Dadurch wird das Domänenmodell expliziter. Beispielsweise kann ich mit einem Geschäftsanalysten über eine Postleitzahl anstelle einer Zeichenfolge sprechen, die eine Postleitzahl enthält. Die gesamte Validierung findet an …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.