ドメイン駆動設計(DDD)の学習におすすめの書籍5選!!

ドメイン駆動設計(DDD) 学習におすすめの書籍5選!! おすすめアイテム
スポンサーリンク

はじめに

ぴんくうさぎ
ぴんくうさぎ

ドメイン駆動設計(DDD)の学習におすすめの技術書ってあるかな?

みどりがめ
みどりがめ

もちろんたくさんあるよ!
今回は評価が高いものを中心に紹介するよ!

この記事の対象読者
  • ドメイン駆動設計(DDD)の学習において学習効果が高い教材を知りたい方
  • 評価が高い技術書を知りたい方

ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本

ドメイン駆動設計(DDD)を学習する最初の一冊としておすすめです。
終始平易な言葉でわかりやすく解説されており、ドメイン駆動設計について全く知識がない状態でも、すらすらと理解することができます。


サンプルコードがC#で、私自身は馴染みがなかったのですが、特に苦労せずに読むことができました。他の言語でもある程度、基礎的な文法知識があれば問題なく読み進められるでしょう。

書籍の概要

学習しやすいパターンが満載!ドメイン駆動設計をやさしく学べる入門書!
【本書の概要】
本書は、『エリック・エヴァンスのドメイン駆動設計』(ISBN978-4-7981-2196-3、翔泳社)、『実践ドメイン駆動設計』(ISBN978-4-7981-3161-0、翔泳社)に感銘を受けた著者が贈る、ドメイン駆動設計の入門書です。
【対象読者】
『エリック・エヴァンスのドメイン駆動設計』や『実践ドメイン駆動設計』をこれから読もうとしている方、もしくはすでに読んだものの、「もう少しやさしい入門書も読みたい」と感じているエンジニアの方を対象としています。
【本書の特徴】
ドメイン駆動設計において、実践が難しいものは後回しにして、理解しやすい実装パターンからドメイン駆動設計の世界に飛び込んでもらうことを目的としています。そこで初心者にとって、理解しやすい、そして実践しやすいパターンからスタートできるよう、解説を工夫しています。またドメイン駆動設計で頻出するパターンの記述方法やその目的も併せて解説しています。本書で解説するパターンは以下のとおりです。
【知識を表現するパターン】
値オブジェクト/エンティティ/ドメインサービス
【アプリケーションを実現するためのパターン】
リポジトリ/アプリケーションサービス/ファクトリ
【知識を表現する、より発展的なパターン】
集約/仕様
出典:Amazon

現場で役立つシステム設計の原則

オブジェクト指向を活用したドメイン駆動設計(DDD)が丁寧に解説されています。
システム設計の書籍としては、有名で口コミの評価も高いです。
オブジェクト指向をベースとしたクラス設計の考え方を身につけることができます。
具体的な事例、ソースコードをもとに解説しているためイメージも湧きやすいです。

書籍の概要

「ソースがごちゃごちゃしていて、どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために、あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが、本来はありえない場所にまで影響して、大幅なやり直しになってしまった」といったトラブルが起こるのは、ソフトウェアの設計に問題があるから。日本最大級となる60万件以上の求人情報サイト「イーキャリアJobSearch」の主任設計者であり、システム設計のベテランである著者が、コードの具体例を示しながら、良い設計のやり方と考え方を解説します。
出典:Amazon

良いコード/悪いコードで学ぶ設計入門

本書ではオブジェクト指向に基づクラス設計、モデリングについてわかりやすく解説されており、ドメイン駆動設計学習の足がかりとして最適です。サンプルコードが多く、とにかく分かりやすいです。近年、爆発的な人気を得ている書籍です。若手は是非一度手にとってみることをおすすめします。

書籍の概要

「ITエンジニア本大賞2023」技術書部門で大賞受賞!
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。
システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。
コードの可読性が低く調査に時間がかかる、
コードの影響範囲が不明で変更すると動かなくなる、
新機能を追加したいがどこに実装すればいいかわからない……。
変更しづらいコードは、成長できないコードです。
ビジネスの進化への追随や、機能の改善が難しくなります。
成長できないコードの問題を、設計で解決します。
(こんな方におすすめ)
・ コードの設計スキルに興味がある人
・ 日々、悪いコードと向き合っていて改善したい人
・より良いコードを書きたい人
出典:Amazon

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

ドメイン駆動設計の原典と呼ばれる書籍です。
ドメイン駆動設計(DDD)をしっかり理解したい場合はお勧めです。

業務の対象となるドメインをモデリングしていく過程が詳細に述べられている書籍という点で一読の価値があります。

内容は難しい内容が多く、初心者が最初の一冊として取り組むにはお勧めできません。上述した入門書に取り組んだ上で読むことをお勧めします。

書籍の概要

ソフトウェア開発コミュニティでは、ドメインモデリングがソフトウェア設計の中心であることが広く認められてきています。
ドメインモデルを通して、ソフトウェア開発者は豊富な機能を表現し、それをユーザの要求に本当の意味で応えるソフトウェアの実装に移すことができます。
しかし、明らかに重要であるにもかかわらず、効果的なドメインモデリングをどのようにソフトウェア開発プロセスに組み入れるかを説明する、実用的なリソースはほとんど存在しませんでした。ドメイン駆動設計はこの要求に応えるものです。
これは具体的な技術についての本ではなく、読者にドメイン駆動設計への体系的なアプローチを提示するものです。設計のベストプラクティスの応用的なセット、経験に基づくテクニック、さらに、複雑なドメインに直面するソフトウェアプロジェクトにおける開発を容易にする基本原則を紹介する一冊です。
出典:Amazon

実践ドメイン駆動設計

上述した「エリック・エヴァンスのドメイン駆動設計」(以下エヴァンス本)の内容をソースコードを交えて具体的に説明している書籍です
エヴァンス本を読んでいる中でもやもやしている人には最適だと思います。
エヴァンス本は抽象的な内容が多いため、こちらの書籍で具体例を読んでいくことでより理解を深めることができます。

書籍の概要

『エリック・エヴァンスのドメイン駆動設計』は、2003年の刊行だったにもかかわらず、大型ソフトウェア構築時につきまとう不透明感を払拭するための指針として現役技術者に多大な影響を与えた。ある意味、エリック・エヴァンスの先見性によって、今日、必要とされるパタン/アンチパタンが整理されていたためだ。

とはいえ、それからすでに11年。ベースとなるオブジェクト指向はそれほど大きな変革はないものの、この10年の間にコンピューティングの対象は大きく増え、さらにドメイン駆動設計をコトバでは知っているものの、経験値のまだ低い技術者の増加もあり、理論だけではなく現状に則した形で体得する必要性が増している。

本書はDDDの考え方はもちろん、コミュニティや実際のビジネスシーンのなかから実践的な方法論を精錬し、いわば21世紀(初頭)型ドメイン駆動設計を伝授するものであり、現在のニーズに合致する内容で構成されている。

出典:Amazon

「実践ドメイン駆動設計」を要約した書籍として「実践ドメイン駆動設計」から学ぶDDDの実装入門」もあるので参考にしてみてください。

終わりに

本記事はここまでとなります。

ご覧いただきありがとうございました。ご指摘等がございましたら頂けますと嬉しいです。
引き続き、プログラミングについて定期的に発信していきますのでよろしくお願いします!
また、もしよろしければtwitterもフォローしていただけると嬉しいです!🐢

コメント