Domain-Driven Design: Ein vollständiges Beispiel 2/2

  Рет қаралды 671

Eberhard Wolff

Eberhard Wolff

Күн бұрын

Was bedeutet es eigentlich, Domain-driven Design (DDD) umzusetzen? Diese Episode beginnt die Reise durch ein vollständiges Beispiel und zeigt , wie die verschiedenen Techniken wie Event Storming und strategisches Design zusammen wirken, um den Aufbau von Anwendungen zu unterstützen. Das zeigt, wie man mit einem einfachen, aber vollständigen Ansatz mit DDD beginnen können.
In dieser Episode geht es um taktisches Design, CQRS, Event Sourcing und hexagonale Architektur.
Links
Training Domain-driven Design saniert Legacy www.socreatory...
Folien speakerdeck.co...
Taktisches Domain-driven Design (DDD) software-archi...
Taktisches Domain-Driven Design mit Java und jMolecules mit Oliver Drotbohm software-archi...
Folgen zu Architecture Management software-archi...
Events, Event Sourcing und CQRS software-archi...
Video zu Kafka als Datenbank-Monolith • Kafka - The New Databa...
Christian Stettler: Domain Events vs. Event Sourcing - Weshalb Domain Events und Event Sourcing nicht vermischt werden sollten www.innoq.com/...
Vaughn Vernon about Ports and Adapters and DDD software-archi...

Пікірлер: 8
@olijaun
@olijaun 5 күн бұрын
Noch eine Bemerkung zu CQRS: Ich finde die Command Queue im Diagram unnötig. Klar kann man das machen, wenn man will. CQRS setzt aber nicht voraus, dass Commands in eine Queue kommen oder gar persistiert werden. Was persistiert werden muss, ist lediglich das Ergebnis des Commands (also z.B. ein Event).
@EberhardWolff
@EberhardWolff 5 күн бұрын
@@olijaun Ja, guter Punkt.
@marcm3623
@marcm3623 2 күн бұрын
Hallo Eberhard, Frage zu 9:52 bis 10:34 Über die Logik: Man steht vor einem Projekt und muss herausfinden ob das vorgegebene Projekt eine geschäftslogik hat. Welche Fragen muss ich stellen um das heraus zu finden? Und was ist der nächste Schritt, wenn ...man geschäftslogik hat ...man keine geschäftslogik habe. Und letzte Frage was trinkst du da 😅
@EberhardWolff
@EberhardWolff 2 күн бұрын
Die Geschäftslogik sollte durch die Requirement klar sein. Wenn dort Berechnungen, komplexe Abläufe usw. definiert sind, gibt es Geschäftslogik. Eigentlich sollte das Event Storming als Big Picture und Design Level die Abwesenheit oder Anwesenheit von Geschäftslogik klar erkennbar machen.
@marcm3623
@marcm3623 2 күн бұрын
@@EberhardWolff also wird die Frage nach Anwesenheit und Detaillierung-Grad der geschäftslogik beim Event storming beantwortet.(?) Aber die requirements kommen doch nicht beim Event storming in Erscheinung sondern vorher oder? Beim Pflichtenheft? Ich bin durch mit meinen Fragen für heute mehr kommt nicht 😃
@EberhardWolff
@EberhardWolff 2 күн бұрын
@ Meine Hoffnung wäre, dass Entwickler:innen an der Stelle, wo sie sich mit der Inplementierung beschäftigen, die Geschäftslogik soweit kennen, dass sie das richtige Pattern auswählen können. Sonst haben sie keinen Plan, was zu implementieren ist und werden dementsprechend nix implementieren.
@olijaun
@olijaun 5 күн бұрын
Ich verstehe die Bemerkungen zu Event Sourcing im Zusammenhang mit der Lieferung nicht. "Was habe ich jetzt davon das es berechnet wird?" Es geht bei Event Sourcing darum, dass der aktuelle (oder ein früherer) Zustand aus den vergangenen Events wiederhergestellt wird. Wieso sollte ich das sonst noch irgendwo speichern? Klar, ich will das vielleicht zwecks Abfrage noch in einem Read Model haben. Ich verstehe das Problem nicht. Wo möchte ich den Zustand nicht rekonstruieren?
@EberhardWolff
@EberhardWolff 5 күн бұрын
@@olijaun Wenn man den Zustand rekonstruieren will, dann ist ES die Lösung. Ob ich das will, ist eine fachliche Frage - es muss eine Anforderung geben. Den Zustand nicht zu speichern, sondern immer nur zu berechnen finde ich eher selten sinnvoll. Mehr Infos gibt es in der Episode zu Events software-architektur.tv/2022/04/22/folge116.html
Domain-Driven Design: Ein vollständiges Beispiel 1/2
1:00:36
Eberhard Wolff
Рет қаралды 1,7 М.
Beruf Software Architektur Ina Einemann
8:48
Eberhard Wolff
Рет қаралды 349
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 182 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 23 МЛН
How to Fight a Gross Man 😡
00:19
Alan Chikin Chow
Рет қаралды 17 МЛН
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 2,4 МЛН
Modul 6 Lektion 1/4: Gedächtnis und Trauma
50:15
Traumapraxis Pfeffingen
Рет қаралды 134
Warum ist Software(-Architektur) eigentlich immer so schlecht?
1:04:49
Eberhard Wolff
Рет қаралды 1,4 М.
£16k in 4 weeks with Setter Science System
23:10
Code Aufräumen - Kent Beck’s “Tidy First?” mit Marco Emrich 1/2
58:31
CL S24 E05
52:13
Jürgen Hermes (spinfocl)
Рет қаралды 60
Das riesige Netzwerk hinter Fake-Shops
20:10
Simplicissimus
Рет қаралды 1 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 182 МЛН