関数型プログラミング言語のドメイン駆動設計に相当


10

ドメイン駆動設計のアイデアは本当に大好きですが、Goを学んでいるときに、より効果的な関数型言語を目的としたDDDに相当するものがあるかどうか疑問に思っています。

回答:


12

同等のものはありません。DDDは、進化的なソフトウェア開発シナリオで頻繁な書き換えをサポートするためのパラダイムを必要としていました。OOPは、当時の唯一の実行可能な戦略のように見えました。しかし、関数型言語はそのようなシナリオにも対応できます。

あなたはを見ていたいかもしれません グレッグヤングビデオ DDD程度と関数型プログラミングとパトリク・フレドリクスソンのビデオを Clojureのような関数型言語でDDDの実装について


3

DDDはOOP設計そのものではなく、開発プロセス全体への取り組み方に関するものだと思います。反復的な開発、ユビキタスな言語、ビジネスの専門家や開発者の密接な協力は、すべて言語やパラダイムにとらわれません。

DDDでのオブジェクトの設計は新しいものではありません。DDDに記述されているパターンは、DDDが世界の光を見るずっと前から存在していました。集計ルート、戦略パターン、値オブジェクトは、ビジネスロジックを説明するのに適していました。したがって、あなたの質問は、「ビジネスロジックを表現し、それを関数型言語で永続化する方法」のようなものになるはずです。あなたはおそらく関数型プログラミング言語の設計パターンを調べています。


これまでに説明したのはDDDの最初の部分ですが、2番目の部分はドメインモデルの実際の構築です。2番目の部分は、私が興味を持っている部分です。ドメインを関数型言語でどのようにモデル化するのか(インターフェイスはあるものの)正確にはわかりません。
Matty
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.