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.
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.
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
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.