読者です 読者をやめる 読者になる 読者になる

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

書籍

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

「ソフトウェアの設計はドメインを起点として進められるべきである」
という,主張だけ書いてみると非常にシンプルな書籍.

500ページ超の大作で,しかも記述が全般的に難解なので,
「読んだ」というよりは「目を通した」に近い状態.
以下,的外れなことを書いているかもしれないけれど,その点はご勘弁を.

そもそもドメインとは何ぞやというところだが,
本書は「知識,影響,または活動の領域」と定義している.
荒っぽく言えば,
「システム化の対象となっているビジネス」
で良いと思う.

この定義に基づくと,
ドメイン駆動設計って,やって当たり前の話じゃね?」
と感じる人もいるだろうけど,それは実際問題,非常に難しい.
エンジニアはその道の専門家ほどドメインに詳しくないし,
逆に専門家はシステムに詳しくない.
また,同じエンジニアの間でも,
ドメインの規模に比例して認識齟齬は大きくなっていく.

こうした壁を乗り越えて,プロジェクトに関わる人間が
共通の言語(本書では「ユビキタス言語」と定義していた)を用いて
設計を進めていくこと.
これが,著者が目指すところのドメイン駆動設計だと思う.

本書は,ドメイン駆動設計を進めるために必要な
「エンティティ」「リポジトリ」などの基本概念を記述しつつ,
ドメイン駆動設計を阻む要因と,その予防・解消策を
様々な角度から解説している.
随所に「あるある」が散りばめられており,
人によっては耳の痛くなる話揃いかもしれない.

冒頭でも述べたとおり,「目を通した」レベルだけど,
実際,そのレベルで良いと思う.
ていうか,深く読み進めると,時間が幾らあっても足りない.
あとは,日々の業務の中で,
「これ,あの書籍に書いていた話だ」という事例に遭遇したときに
改めて本書に立ち返る,というスタンスがベストじゃないかな.