web-dev-qa-db-ja.com

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

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

10
Matty

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

Greg Youngのビデオ DDDと関数型プログラミングについて、そして Patrik Fredrikssonのビデオ Clojureのような関数型言語でDDDを実装することをご覧ください。

12
ZioBrando

DDDはOOPデザイン自体ではなく、開発プロセス全体へのアプローチ方法に関するものだと思います。反復的な開発、ユビキタスな言語、ビジネスの専門家と開発者の緊密な協力は、すべて言語とパラダイムにとらわれません。

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

3
Euphoric