概要
ソフトウェア開発でドメイン駆動設計が注目されています。ソフトウェアデザイン誌で大変好評だった,ドメイン駆動設計特集の過去記事(2024年3月号,2023年2月号など)を再編集し,1冊にまとめました。ソフトウェアの設計は現在さまざまな視点で検討されており,開発の成功をいかに実現し達成するか重要になっています。本書は,ドメイン駆動設計の第一人者である増田亨氏を中心に,現場でドメイン駆動設計を実践し得られた知見をもとに,最前線の情報を得ることができます。
第1章においてはマイクロサービスなどの分散アーキテクチャやアジャイル開発における設計のアプローチとして,近年注目を集めている「ドメイン駆動設計」。その元となる書籍『エリック・エヴァンスのドメイン駆動設計』(いわゆる“エヴァンス本”)は,本書では,“エヴァンス本”の要点をかみ砕き,オブジェクト指向,アジャイル開発,分散アーキテクチャとの関係性から,設計の考え方とやり方を解説します。根本の考え方を理解し,現場での実践例を見ることで,設計力アップにつながるでしょう。引き続き第2章では,ドメイン駆動設計(DDD)の実装は,ドメイン(業務領域)を深く理解することから始まります。DDDの概要を再確認しつつ,実例を交えたDDDの手法を解説します。DDDの根幹を担う「ユビキタス言語の策定」,ドメインの発見に役立つ「イベントストーミング」,そしてイベントストーミングで得られた知識からコードを導く「イベントソーシング」という,効果的な3つの手法を実際に体験しましょう。そして第3章では,DDDからクリーンアーキテクチャの解説を行います。
こんな方におすすめ
- システムエンジニア
- プログラマー
- ソフトウェアアーキテクト
- 著者プロフィール
- ソフトウェアデザイン誌でのドメイン駆動設計の特集記事3本を特別編集,増田亨,田中ひさてる,奥澤俊樹,中村充志,成瀬允宣,大西政徳ら気鋭のライター陣による渾身の解説。
目次
第1章
設計力を磨きたい!
ドメイン駆動設計入門
――設計の手法/アイデアの引き出しを増やそう
- 1-1 ドメイン駆動設計とは?
――設計の考え方をつかむ基礎知識
- 1-2 ドメインモデルを理解しよう
――業務知識をソフトウェアで正しく表現するための考え方
- 1-3 分散アーキテクチャとドメイン駆動設計
――モデルと実装を適切につなぐための3つの設計パターン
- 1-4 ドメイン駆動設計を開発プロセスに取り入れる
――さまざまな現場から見えた4つの視点
- 1-5 ドメイン駆動設計のパターン名&用語集
――用語の解釈で迷子にならないために
第2章
どうやって実現する?
ドメイン駆動設計実践ガイド
――理論の先にある応用力を身につけよう
- 2-1 ドメイン駆動設計の概要
――本来の目的を再確認し,軽量DDDから脱却する
- 2-2 ユビキタス言語
――定義と効果を理解してチームで実践してみよう
- 2-3 イベントストーミング
――ドメインを解析してモデルを形作る
- 2-4 イベントソーシング
――イベントストーミング図を基に実装する
第3章
正しく理解したい
クリーンアーキテクチャとは何か?
――開発に活かせる設計のエッセンスを探る
- 3-1 クリーンアーキテクチャの背景
――ブログ記事,書籍,時代背景から用語の意味を押さえる
- 3-2 クリーンアーキテクチャの実体に迫る
――関心の分離,あの有名な同心円状の図,SOLID原則の要点
- 3-3 ソースコードから理解する
――典型的なシナリオからクリーンアーキテクチャのエッセンスを抽出しよう
- 3-4 アプリケーションから理解する
――密結合→疎結合→クリーンアーキテクチャを体感しよう
- 3-5 モバイルアプリ開発における実践
――アプリアーキテクチャガイドを起点に現実的な方針を考える