daisuzz.log

ドメイン駆動設計を学習するにあたって参考になった資料

(2018.05.13 追記: もちこ本の紹介を追加しました)

 

ここ4ヶ月ほどDDDについて勉強しています。

そこでアウトプットも合わせてDDDについてブログに残そうと思います。

今回は、そもそもDDDを学習するにあたって参考になった資料について書いていきます。

DDDを学習するにあたって

DDDに限らず、ソース元が不明な情報を参考にしないというのは、インターネットで情報を集めるときには当たり前のことですが、DDDでは特にこれが重要だと考えています。

なぜかというと、DDDの概念は抽象的でわかりづらく、学習した人それぞれの考えがブログなどで散見されているからです。ブログに限らず著名な方でも人それぞれ微妙に異なる意見を発表されています。( 参考 ドメイン駆動設計の定義についてEric Evansはなんと言っているのか[DDD] - little hands' lab )

そのため、DDDを学習する際には、幅広い情報に触れるのではなく、まずは以下の書籍やブログを読むことをお勧めします。

自分は、DDD Quickly → IDDD本 → DDD本の順で、困ったり情報を整理したい時にlittle hands' lab を読み進める という形式をとって学習していきました。

まずは原著から、という理由でエリック・エヴァンズのDDD本から読み進める人も多いと思いますが、個人的にはおすすめしません。DDD本は、内容はとても重要なことを扱っているのですが、抽象的な記述がなくとてもわかりづらく書かれていて、???となりながら読み進めることになると思います。(自分はそうでした、、、)

そのため、まずは、DDD QuicklyでDDDの全体像をコンパクトになんとなくで良いのでイメージして、次にIDDD本を読んでコードベースで理解し、最後にDDD本に戻って概念を再確認するという流れが良いと思います。

(2018.05.13 追記) もちこ本(後述)がとてもわかりやすいので、こちらを最初に読んでみることをおすすめします。その後、IDDD本やDDD本を読み、わかりづらいと感じた場合に、litte hand's labやDDD Quicklyを参考にする方法がおすすめです。

おわりに

今回は、DDDを学習する際に、「なにを参考にすればよいのか?」「どのように進めていけばよいのか?」について述べました。あくまで個人の意見ですので、学習方法の一例として参考にしていただけると幸いです。今後、すこしづつDDDの中身についての記事を書いていきたいと思います。

2018.05.13 追記

DDDを勉強していると↓の本がおすすめという意見をよく見かけたので読んでみました。

booth.pm

内容としては、DDDの中でも「戦略的設計」と呼ばれている部分の解説書になっています。この本は、全部で60ページほどと少ない上にとても読みやすく書かれているので、最初にこの本を読むことをおすすめします。