そこに仁義はあるのか(仮)

略してそこ仁!

Software Design 2023/2 第1特集:ドメイン駆動設計入門を読んだ!

増田さんから Software Design 2023/2 を献本いただきました!
第1特集はドメイン駆動設計入門で、50ページとすごいボリュームで読み応えたっぷりでした!

🙆‍♀️ こんな人にオススメ

ドメイン駆動設計の基本と、そこからさらに一歩進んだ内容を幅広く学べます。
何かの書籍で学ぶ前にドメイン駆動設計の考え方をまずは知りたいという方にオススメです!

説明の中でクリーンアーキテクチャやマイクロサービスについて言及されている箇所もあり、この本を読むことで興味の幅を広げることができるとも感じました。
現場での経験に基づいた事例の紹介もあり、コンテンツとしてとても濃いものになっています!
まずはこちらの特集でどんな考え方があるのかを把握した上で、エヴァンス本や増田さんの「現場で役立つシステム設計の原則」などを読むのもオススメです。

📖 第1特集の目次

設計力を磨きたい!ドメイン駆動設計入門
設計の手法/アイデアの引き出しを増やそう

  • 第1章:ドメイン駆動設計とは?
    • 設計の考え方をつかむ基礎知識
      • Author : 増田 亨
  • 第2章:ドメインモデルを理解しよう
    • 業務知識をソフトウェアで正しく表現するための考え方
      • Author : 増田 亨
  • 第3章:分散アーキテクチャとドメイン駆動設計
    • モデルと実装を適切につなぐための3つの設計パターン
      • Author : 増田 亨
  • 第4章:ドメイン駆動設計を開発プロセスに取り入れる
    • さまざまな現場から見えた4つの視点
      • Author : 高崎 健太郎,執筆協力:谷口 公宣
  • 第5章:ドメイン駆動設計のパターン名&用語集
    • 用語の解釈で迷子にならないために
      • 増田 亨,執筆協力:山崎 仁

📝 特に面白かったところ

ドメイン駆動設計の基本を学べるだけでなく、それを実装するためにどういった選択肢があるのか・それぞれの違いについても書かれています。

例えば、業務ロジック(ドメインモデル)を実装する時に「他の要素とどのように依存させていくか」という選択肢として以下が挙げられており、それぞれについてどういったものなのかが解説されています。

  • ドメインモデル+3層構造
  • ドメイン+ポート&アダプター
  • クリーンアーキテクチャ

他にも、アーキテクチャの選択肢として以下のそれぞれについての特徴が紹介されていました。

  • モノリスアーキテクチャ
  • モジュラーモノリス
  • マイクロサービスアーキテクチャ

更にはチームや文化も含めた開発プロセスについても解説されています。
現場での事例をベースにした解説もあり、実際にどう課題に対してアプローチされたのかを知れて、読んでいてとても面白かったです。

全体を通して、幅広い知識を学びつつ、関連知識をリンクさせていける、とても盛りだくさんな内容になっていました!

📝 まとめ

繰り返しになりますが、コンテンツが盛りだくさん+幅広く、とても充実した内容になっています。
具体例や事例も交えつつ説明されているため、理解も進めやすく、エヴァンス本を読む前に読んでいただくと理解の手助けになると感じました。

増田さん、高崎さん、素敵な記事をありがとうございます!

雑誌の中で紹介されているいくつかの考え方については、関連書籍の感想をこちらでもブログをまとめています。
syobochim.hatenablog.com
syobochim.hatenablog.com
syobochim.hatenablog.com