C#勉強会

C#の学習日記

ドメイン駆動設計の教材

クリーンアーキテクチャ(CA)の本を読みました。

 

 

図の真ん中の「Entities」はドメイン駆動設計(DDD)で作るという話があったので、DDDを勉強してみようと思いました。

 

 

f:id:jsstudy:20200305152518j:plain

(via https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

 

qiita.com

 

qiita.com

 

nrslib.com

 

CAとDDDの両方を知っておかないと、相違点が分からないですね。

なので、DDDも基本知識が必要だと思いました。

 

ドメイン駆動設計とは?

教えて、Wikipedia

ドメイン駆動設計 - Wikipedia

ドメイン駆動設計(Domain-driven design, DDD)とはソフトウェアの設計手法であり、「複雑なドメインの設計は、モデルベースで行うべき」であり、また「大半のソフトウェアプロジェクトでは、システムを実装するための特定の技術ではなく、ドメインそのものとドメインのロジックに焦点を置くべき」であるとする。

 

ドメインモデル」とか「ユースケース」という用語が出てきますね。

 

教えて、Google

ドメイン駆動設計 - Google 検索

 

DDDの基本的な用語の解説は、以下の記事が参考になりそうです。

 

little-hands.hatenablog.com

 

qiita.com

 

qiita.com

 

ドメイン駆動設計の参考書

DDDの本はたくさんありました。

 

little-hands.booth.pm

 

エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計

 

 

実践ドメイン駆動設計

実践ドメイン駆動設計

 

 

 

 

ドメイン駆動設計の参考記事

後で読んでみます。

 

上記本の著者、成瀬允宣さんの記事など。(本の基になった記事)

 

nrslib.com

 

nrslib.com

 

CAの記事にも目を通しておきたいです。

 

nrslib.com

 

qiita.com

 

qiita.com

 

qiita.com

 

qiita.com

 

関数型プログラミングでのドメイン駆動設計

CA本を見て、「これ関数型プログラミングでもできるよね?」と思いました。

DDDも関数型プログラミングでやってる人がいたので、一応見ておきたいです。

 

Functional and Reactive Domain Modeling

Functional and Reactive Domain Modeling

  • 作者:Ghosh, Debasish
  • 発売日: 2016/10/24
  • メディア: ペーパーバック
 

 

 

簡単にチャチャっと導入してみたいですね!