WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 その他


「実践ドメイン駆動設計」から学ぶDDDの実装入門  

「実践ドメイン駆動設計」から学ぶDDDの実装入門

WINGSプロジェクト 青木 淳夫/著
山田祥寛/監修
株式会社 翔泳社/発行
定価 2,750円
B5正寸・ 184ページ・ 1色
ISBN 978-4-7981-6149-5
発刊日: 2019年5月31日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート

本書の特徴

普段の開発でDDD実装を始める方法を解説

本書は、ヴァーン・ヴァーノン著「Implementing Domain‑Driven Design」(邦題「実践ドメイン駆動設計-エリック・エヴァンスが確立した理論を実際の設計に応用する」)の流れに沿って、重要な部分にフォーカスし、ドメイン駆動(DDD)について理解することをお手伝いします。
ぜひ、本書をきっかけに、DDDに挑戦してみてください。
分野・レベル別マップ

本書について取り上げていただいたブログさま

・無限大な夢のあと - noimpslmtbrkさま
【書評】実践ドメイン駆動設計から学ぶDDDの実装入門 ( @yyamada )(2019年8月26日)
・note - にわけんさま
【本の紹介】「実践ドメイン駆動設計」(2019年7月22日)
・purucat’s blog - purucatさま
"「実践ドメイン駆動設計」から学ぶDDDの実装入門" (全14章) 総評(2019年7月10日)
・sogaoh Laboratory - sogaohさま
[Book Review]「実践ドメイン駆動設計」から学ぶDDDの実装入門(2019年7月07日)

  Contents


第1章 「DDDへの誘い」~ドメイン駆動設計のメリットと始め方~
1.1 [WHAT]ドメイン駆動設計の概要
1.2 [WHO]DDDを始められる人とは
1.3 [WHY1]DDDを導入するメリット
1.4 [WHY2]開発費用を「コスト」から「事業投資」へ
1.5 [WHY3]ドメインモデルによる「複雑さ」への対処
1.6 [HOW1]ユビキタス言語で設計する方法
1.7 [HOW2]DDD導入に向けた周りへの説得方法
1.8 [HOW3]DDD導入に向けた優先順位/体制
1.9 まとめ

第2章 「ドメイン」「サブドメイン」「境界づけられたコンテキスト」~DDDで取り組む領域~
2.1 「ドメイン」と「境界づけられたコンテキスト」の全体像
2.2 ドメインとは
2.3 「境界づけられたコンテキスト」とは
2.4 IDDD本の架空サンプルプロジェクト「SaaSOvation」
2.5 分割した「ドメイン」と「境界づけられたコンテキスト」の評価方法
2.6 まとめ

第3章 「コンテキストマップ」~境界づけられたコンテキスト間のチーム関係~
3.1 コンテキストマップとは
3.2 コンテキストマップの「組織的パターン」と「統合パターン」
3.3 チームの関係を示す「組織的パターン」
3.4 境界づけられたコンテキスト間の連携方法を示す「統合パターン」
3.5 SaaSOvationにおけるコンテキストマップの例
3.6 SaaSOvationにおけるコンテキストの統合方式例
3.7 コンテキスト間の連携のシーケンス図
3.8 SaaSOvationの組織的パターン
3.9 まとめ

第4章 「アーキテクチャ」~レイヤからヘキサゴナルへ~
4.1 本章で紹介するアーキテクチャの種類
4.2 特定のアーキテクチャに依存しないDDD
4.3 SaaSOvationのCIOに聞くアーキテクチャの変遷
4.4 レイヤからDIP、そしてヘキサゴナルへ
4.5 レイヤ化アーキテクチャとは
4.6 依存関係逆転の原則(DIP)を用いたレイヤ化アーキテクチャ
4.7 ヘキサゴナルアーキテクチャ
4.8 ヘキサゴナルでのサービス指向のアプローチ
4.9 ヘキサゴナルで使用されるREST
4.10 コマンドクエリ責務分離 
 (CQRS:Command Query Responsibility Segregation)
4.11 DDDにおけるCQRSでの流れ
4.12 イベント駆動アーキテクチャ
4.13 まとめ

第5章 「エンティティ」~一意な識別子で同一性を識別~
5.1 エンティティと値オブジェクト
5.2 モデリングとエンティティ発見の流れ
5.3 まとめ

第6章 「値オブジェクト」~振る舞いを持つ不変オブジェクト~
6.1 値オブジェクトとは
6.2 値オブジェクトの特徴
6.3 複数コンテキストの結合を緩やかにする値オブジェクト
6.4 ドメインモデルの区分や種類を示す「標準型(タイプコード)」
6.5 値オブジェクトの実装コード
6.6 まとめ

第7章 「ドメインサービス」~複数の物を扱うビジネスルール~
7.1 DDDにおけるサービスとは
7.2 DDDの「ドメインサービス」と一般的な「サービス」の違い
7.3 ドメインサービスの例
7.4 ドメインサービスの失敗例
7.5 ドメインサービス導入時のポイント
7.6 ドメインサービスの設計方法
7.7 まとめ

第8章 「ドメインイベント」~出来事を記録して活用~
8.1 ドメインイベントとは
8.2 ドメインイベントがもたらすメリット
8.3 ドメインイベントの導入
8.4 「ドメインイベント」クラスのモデリング
8.5 基本的なイベント送受信方法
8.6 他システム(他の境界づけられたコンテキスト)へのイベント送信
8.7 イベントストアとは
8.8 自立型のサービスのメリット
8.9 メッセージングミドルウェアによる連携方法
8.10 まとめ

第9章 「モジュール」~高凝集で疎結合にまとめる~
9.1 モジュールとは
9.2 モジュールの設計方法
9.3 モジュールの命名規約
9.4 モジュール間の依存関係
9.5 アプリケーションレイヤのモジュール分割
9.6 まとめ

第10章 「集約」~トランザクション整合性を保つ境界~
10.1 DDDにおける集約
10.2 IDDDのサンプルプロジェクトで考える集約
10.3 集約の設計におけるルール
10.4 基本ルールに反する例外パターン
10.5 集約の実装コード例
10.6 集約のコーディング時に役立つ法則
10.7 まとめ

第11章 「ファクトリ」~複雑な生成をユビキタス言語でシンプルに~
11.1 ファクトリとは
11.2 ファクトリを使う理由
11.3 ファクトリの設計
11.4 まとめ

第12章 「リポジトリ」~集約の永続化管理を担当~
12.1 リポジトリとは
12.2 リポジトリを利用する「アプリケーションサービス」
12.3 コレクション指向のリポジトリ
12.4 永続指向のリポジトリ
12.5 まとめ

第13章 「境界づけられたコンテキストの統合」~分散システム設計~
13.1 「境界づけられたコンテキスト」と「コンテキストマップ」
13.2 分散システムの基本
13.3 コンテキスト間の「データ交換フォーマット」
13.4 イベントを連携する「Notification(通知)」の仕組み
13.5 コンテキスト間における連携アーキテクチャ
13.6 RESTfulリソースを用いた統合アーキテクチャ
13.7 メッセージングを使った統合アーキテクチャ
13.8 まとめ

第14章 「アプリケーション」~ドメインモデルを利用するクライアント~
14.1 ドメインモデルを利用するアプリケーションとは
14.2 ドメイン層とUI層間における情報の受け渡し方法
14.3 複数の境界づけられたコンテキストの統合・合成
14.4 UI層での描画に関わるモデル
14.5 アプリケーション層における実装
14.6 まとめ
14.7 参考資料

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.