あらすじ
学習しやすいパターンが満載!
ドメイン駆動設計をやさしく学べる入門書!
【本書の概要】
本書は、
『エリック・エヴァンスのドメイン駆動設計』(ISBN978-4-7981-2196-3、翔泳社)、
『実践ドメイン駆動設計』(ISBN978-4-7981-3161-0、翔泳社)
に感銘を受けた著者が贈る、ドメイン駆動設計の入門書です。
【対象読者】
『エリック・エヴァンスのドメイン駆動設計』や
『実践ドメイン駆動設計』をこれから読もうとしている方、
もしくはすでに読んだものの、「もう少しやさしい入門書も読みたい」
と感じているエンジニアの方を対象としています。
【本書の特徴】
ドメイン駆動設計において、実践が難しいものは後回しにして、
理解しやすい実装パターンからドメイン駆動設計の世界に
飛び込んでもらうことを目的としています。
そこで初心者にとって、理解しやすい、そして実践しやすいパターンからスタートできるよう、
解説を工夫しています。
またドメイン駆動設計で頻出するパターンの記述方法やその目的も併せて解説しています。
本書で解説するパターンは以下のとおりです。
【知識を表現するパターン】
・値オブジェクト
・エンティティ
・ドメインサービス
【アプリケーションを実現するためのパターン】
・リポジトリ
・アプリケーションサービス
・ファクトリ
【知識を表現する、より発展的なパターン】
・集約
・仕様
※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
感情タグBEST3
Posted by ブクログ
とてもわかりやすかった。各層の責務の違いが明確に理解できた。ボトムアップという表現も納得、クリーンなアーキテクチャを理解するうえで自分にとってはすんなりと頭に入ってくるアプローチだった。
Posted by ブクログ
きっかけ
プロジェクトの方針がdddになったこと、ちょっとやってみて分かりやすくなるかもなって思ったこと、転職先の必要条件としてdddの理解があげられてたこと、ウェブ上にある記事ではいつも入り口で躓いてしまっていたこと
得たこと
dddを採用するメリットを知れた
各パターンへの誤解を正せた
今後
実践できたら保守に超強いシステムになりそう
コードでどう表現するか立ち止まった時は辞書として参考にしたい
おすすめ理由
c#がわからなくてもパターンの概要が把握できるサンプルコードだった
Posted by ブクログ
ドメイン駆動開発の入門書的な内容で、ドメインモデルの種類やデザインパターンなどを解説してくれています。ドメインモデルのわかりにくいところを設計初学者でもわかるように噛み砕いて説明してくれています。とても参考になりました。ここまで体系的にわかりやすく解説してくれている書籍はありませんでした。
自分的にはドメインがクリーンアーキテクチャやレイヤードアーキテクチャなどで果たしている役割について解説されている章が自分的には腑に落ちました。
Posted by ブクログ
ドメイン知識をモデルにし、さらにシステムとして実装するドメイン駆動設計(DDD)の入門本。
DDDにおけるモデリング(戦略的設計)と実装(戦術的設計)のうち、あえて後者中心の説明により理解しやすくしている。
DDDって具体的にはどうすればいいのか?という疑問を実装パターンで説明しており、DDD用語を具体的に理解して実践できるようになっている。
DDDにおいてはドメインモデルの設計が最重要であるため、本書に加えてDDD本やIDDD本を含む他の書籍を参照するのが良い。
(なお、DDD本で挫折しやすいので、本書から読むととても分かりやすい。「現場で役立つシステム設計の原則」もオススメされている。)
Posted by ブクログ
DDDの入門書として最適
具体的な例をもとにタイトル通りボトムアップの形でDDDの考え方を説明してくれている
エヴァンスのDDDを読むときや実装の際にちょこちょこ見返すと思う
Posted by ブクログ
# ドメイン駆動開発が少しわかるようになった
## 面白かったところ
* 具体的なコードをクラスを含めて説明していたところ
* 本のタイトルどおり「設計」に重きを置いた内容だったこと
* githubにサンプルが掲載されており、シンタックスハイライトありで確認することができたこと
## 微妙だったところ
* 特になし
## 感想
久しぶりに写経込みの技術書を通しでやった。
本書はC#を用いているが、自分は開発環境を整え、PHPで実装していたためかなり時間がかかった。
最新のPHPの書き方で縛り、TDDで実装するとC#で実現したいことをPHPで実現することの難しさと、言語の特色の違いも勉強できてとても楽しかった。
次この技術書を写経するときはTypeScriptで挑戦してみようと思う。
Posted by ブクログ
値オブジェクトやエンティティ、サービスや集約などなどを、なぜ必要なのか、どのように実装すれば良いのか豊富なソースコード付きで解説している。誰でも理解できるように順序立ててとても丁寧に書かれており読みやすかった。
私はちょうどDDDについて一通り本を読み検索して各種ブログを読み、結局どうすれば、、、という状況だったので非常に助かりました。
プログラミングを始めたばかりだと難しそうですが、設計について悩み始めた頃であれば十分に理解できる内容だと思う。
Posted by ブクログ
ドメイン駆動設計の入門書であると同時にアプリケーションアーキテクチャ設計の入門書でもある。シンプルなサンプルアプリを題材にしながら、重要な概念やテクニックを順序立ててわかりやすく説明してくれる良書。
Posted by ブクログ
設計時の考え方と実装とがセットで説明されているのでイメージしやすかった。
ところどころ説明に矛盾や理解に苦しむ部分はあるが、OODを理解している人がとりあえずDDDを始めて学ぶには良い気がする。
Posted by ブクログ
値オブジェクト・エンティティ、サービス等の性質を分かりやすく説明されており、かつサンプルコードが載せられているのでイメージしやすく理解しやすかったです。どういうふうに責務を分離するかみたいなところはDDDじゃなくても必要な考え方だと思うので、書いてある内容はDDDじゃなくても活かせる内容だと思います。
Posted by ブクログ
理解しやすかった。
DDDを学ぶ人、プログラムに関わる人は必ず読んでほしい一冊。
実例がc#で書いてるので、抵抗感はあるかも知れない。(が、コアな書き方してないので、基本的には読んでわかるレベル)
Posted by ブクログ
タイトルの通り、ソースコードのサンプルがたくさんのっているため、ボトムアップで理解していくことができます。トップダウンな解説はありません。
DIについての実装例もあり、今までさり気なく使っていたDIがイメージできるようになりました。
Posted by ブクログ
ドメイン(システム化の対象となるもの)にフォーカスして開発する手法。
オブジェクト指向の概念を拡張して、さらに様々な設計手法を取り入れたものと言った印象です。
自分の場合、値オブジェクト、エンティティといった概念は自然と利用していたので、設計手法として確立した概念だということに驚きました。
改めて読むと、なるほどなと思うこともありました。
値オブジェクト:値が不変。値の変更がある場合は、新しいオブジェクトで置き換える。ユーザ名やメールアドレスなどの属性になるケースが多い。
エンティティ:一意になる、内部の値が変わるといった特徴があります。ユーザのような概念がエンティティに相当します。
Posted by ブクログ
「ボトムアップ」の名の通り、手を動かす視点から段階を追ってDDDを学ぶことができる。
コード例が豊富で、なぜそのように設計するべきかというのがすんなり理解できる。
終章で警鐘が鳴らされているように、設計プラクティスを遵守するだけでは軽量DDDになってしまう。しかし、目の前で起こりうる課題と紐付いていることにより、本書のアプローチは非常に理解しやすい。エリックエヴァンス本の前に読んでおくとよさそうだ。
Posted by ブクログ
恐らく本書があってもドメイン駆動設計のバイブルは引き続きエリック・エヴァンス本なのだろう(恐らく、というのはエリック・エヴァンス本が難しくて挫折したので確かめられないため)そんな自分でも基礎から解説してくれる本書は何とか読めた。ドメイン駆動設計を理解したいけど何か難しそうで敬遠気味…という人にオススメ。いつか原典にも再挑戦してみたい。
Posted by ブクログ
ドメイン駆動設計に出てくるエンティティや値オブジェクトなどをコードや図で説明している。入門のとおりコード例は簡易なもの。また全体を通して1つのシステム(ユーザ管理機能とサークル登録機能)での説明なので理解しやすい。
説明不足だと感じる点もあった。