Entspricht Domain Driven Design für funktionale Programmiersprachen

10

Ich mag die Idee des domänengetriebenen Designs sehr, aber während ich Go lerne, frage ich mich, ob es das Äquivalent von DDD gibt, das auf eine effektiv funktionalere Sprache abzielt.

Matty
quelle

Antworten:

12

Es gibt kein Äquivalent. DDD brauchte ein Paradigma, um häufiges Umschreiben in einem evolutionären Softwareentwicklungsszenario zu unterstützen. OOP schien damals die einzig praktikable Strategie zu sein. Aber auch funktionale Sprachen können einem solchen Szenario dienen.

Vielleicht möchten Sie sich Greg Youngs Video über DDD und funktionale Programmierung und Patrik Fredrikssons Video über die Implementierung von DDD mit einer funktionalen Sprache wie Clojure ansehen

ZioBrando
quelle
3

Ich glaube, bei DDD geht es nicht um das OOP-Design selbst, sondern vielmehr darum, wie Sie den gesamten Entwicklungsprozess angehen. Iterative Entwicklung, allgegenwärtige Sprache und die enge Zusammenarbeit von Geschäftsexperten und Entwicklern sind alle sprach- und paradigmenunabhängig.

Das Design von Objekten in DDD ist nichts Neues. Die in DDD beschriebenen Muster existierten lange bevor DDD das Licht der Welt erblickte. Aggregierte Wurzeln, Strategiemuster und Wertobjekte waren nur zur Beschreibung der Geschäftslogik geeignet. Ihre Frage sollte also eher lauten: "Wie kann man Geschäftslogik ausdrücken und ihren Status in funktionaler Sprache beibehalten?". Sie suchen wahrscheinlich in Entwurfsmustern nach funktionalen Programmiersprachen.

Euphorisch
quelle
Was Sie beschrieben haben, ist der erste Teil von DDD, aber der zweite Teil ist die eigentliche Konstruktion von Domänenmodellen. Der zweite Teil interessiert mich. Ich bin mir nicht ganz sicher, wie ich eine Domain in einer funktionalen Sprache modellieren würde (wenn auch eine mit Schnittstellen).
Matty