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.
Können Sie mir Ihre Meinung sagen, welche Ebene die richtige ist, um Domain-Event-Handler in DDD zu platzieren? Ich habe beispielsweise einen Anwendungsdienst zum Hinzufügen eines neuen Vertrags und möchte eine E-Mail-Benachrichtigung an die Kontaktperson senden, wenn der Vertrag hinzugefügt wurde. Dies gilt auch für den Anwendungsdienst oder den Domänendienst des …
Eine typische Implementierung eines DDD-Repository sieht nicht besonders gut aus, zum Beispiel eine save()Methode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Infrastrukturteil: package com.example.infrastructure; // imports... public class JdbcProductRepo implements …
Zunächst ein Disclaimer: Ich weiß nicht wirklich, ob diese Frage zu dieser Website passt, aber ich finde sie immer noch eine relevante Frage, nicht nur für mich, sondern auch für andere Anfänger. Wenn die Frage hier angepasst werden kann, weisen Sie bitte auf int-Kommentare hin. Wenn es nicht passt, lass …
Persistence Ignorance ist eine Anwendung des Single-Responsibility-Prinzips. In der Praxis bedeutet dies, dass Domain Objects ( DO ) keinen Code in Bezug auf Persistenz enthalten sollten, sondern nur Domänenlogik. a) Ich gehe davon aus, dass der Code, der die unteren Schichten (dh die Persistenzschichten) berührt, außerhalb des Domänenmodells in anderen …
Ich habe seit Tagen über DDD gelesen und brauche Hilfe bei diesem Beispieldesign. Alle DDD-Regeln verwirren mich sehr, wie ich überhaupt etwas erstellen soll, wenn Domänenobjekte der Anwendungsebene keine Methoden anzeigen dürfen. Wo sonst kann man Verhalten orchestrieren? Repositorys dürfen nicht in Entitäten injiziert werden, und die Entitäten selbst müssen …
Wir versuchen, mithilfe eines DDD-Ansatzes Daten aus unserer aufgeblähten Service-Schicht in unsere Domain-Schicht zu verschieben. Wir haben derzeit eine Menge Geschäftslogik in unseren Diensten, die über den gesamten Ort verteilt ist und nicht von der Vererbung profitiert. Wir haben eine zentrale Domain-Klasse, auf die sich der Großteil unserer Arbeit konzentriert …
Ich habe kürzlich viele Argumente gegen die Verwendung des Repository-Musters mit leistungsstarken ORMs wie Entity Framework gelesen, da es neben der Unit of Work-Funktionalität auch Repository-ähnliche Funktionen enthält. Ein weiteres Argument gegen die Verwendung des Musters für eine Situation wie Unit-Tests ist, dass das Repository-Muster eine undichte Abstraktion ist, da …
In Domain Driven Design kann die Domänenschicht mehrere (traditionelle) Dienste haben. Für die Benutzerdomäne haben wir beispielsweise Folgendes: Eine UserFactory, die Benutzerobjekte auf unterschiedliche Weise erstellt Ein UserRepository, das für die Interaktion mit den Persistenzdiensten in der Infrastrukturschicht verantwortlich ist Ist ein UserService in der Domänenschicht lediglich ein Vermittler und …
Ich beschäftige mich mit den Konzepten für Domain-Driven Design (DDD) und fand einige Prinzipien seltsam, insbesondere in Bezug auf die Isolierung von Domain- und Persistenzmodellen. Hier ist mein Grundverständnis: Ein Dienst auf der Anwendungsschicht (der einen Funktionssatz bereitstellt) fordert Domänenobjekte von einem Repository an, das er zur Ausführung seiner Funktion …
Soweit ich weiß, ist es in DDD angebracht, ein Repository-Muster mit einem aggregierten Stamm zu verwenden. Meine Frage ist, sollte ich die Daten als Entität oder Domänenobjekte / DTO zurückgeben? Vielleicht erklärt ein Code meine Frage weiter: Entität public class Customer { public Guid Id { get; set; } public …
Ich möchte meine erste Anwendung mithilfe des CQRS-Musters zusammen mit Event Sourcing implementieren. Ich frage mich, wie die Erstellung aggregierter Wurzeln richtig gehandhabt werden sollte. Angenommen, jemand sendet den Befehl CreateItem. Wie soll damit umgegangen werden? Wo soll das Ereignis ItemCreated gespeichert werden? Als erstes Ereignis eines neuen Artikels? Oder …
Ich versuche im Grunde, mich mit dem Konzept von CQRS und verwandten Konzepten zu beschäftigen. Obwohl CQRS Messaging und Event Sourcing nicht unbedingt beinhaltet, scheint es eine gute Kombination zu sein (wie aus vielen Beispielen / Blogposts hervorgeht, die diese Konzepte kombinieren). Würden Sie angesichts eines Anwendungsfalls für eine Statusänderung …
Ich möchte eine neue Lösung entwickeln, die von Natur aus sehr modular ist, und möchte eine Struktur erstellen, die dieses Design unterstützt, um eine einfache zukünftige Erweiterung, eine klare Trennung von Bedenken, eine Lizenzierung nach Modulen usw. zu ermöglichen. Das meiste, was ich habe Im Internet finden Sie Informationen zu …
Ich lerne DDD und denke darüber nach, in bestimmten Situationen Ausnahmen zu werfen. Ich verstehe, dass ein Objekt nicht in einen schlechten Zustand versetzt werden kann, daher sind hier die Ausnahmen in Ordnung, aber in vielen Beispielen werden auch Ausnahmen ausgelöst, wenn wir versuchen, einen neuen Benutzer mit vorhandener E-Mail …
Kurzes Fragenformat Gehört es zu den Best Practices von DDD und OOP, Dienste in Entitätsmethodenaufrufe einzufügen? Langformat-Beispiel Angenommen, wir haben den klassischen Order-LineItems-Fall in DDD, in dem wir eine Domänenentität namens Order haben, die auch als Aggregatstamm fungiert, und diese Entität besteht nicht nur aus ihren Wertobjekten, sondern auch aus …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.