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

アジャイルサムライでも必読と紹介されていた本
(アジャイルサムライ参照)

ドメイン駆動設計
DomainDrivenDesign

ドメイン
領域。対象。
システム開発においては開発するソフトウェアが実現しようとする機能の中でも「目的」を指す。
銀行でいうと口座金額の増減機能(ATMの操作性や安全性やデザインではない)。
三層アーキテクチャにおけるアプリケーション層の事を指している。

モデル
抽象化(単純化)された概念。
(例)ドメイン:地球、モデル:地図

ドメインモデル
ドメインについてのモデル。
現場のやり方
顧客には当然発注するソフトウェアに対する専門的な知識、運用方法がある。

ユビキタス言語
モデル(現場)と開発で使用される言語。
言葉によって想像されるイメージは通常使用する人間によって差があるが、
長年現場で使用される言葉にはそれがない。
開発者は現場と同じイメージを抱かなくてはならない。

まとめ
ドメインの専門家(現場担当者)がユビキタス言語を用いて説明する内容を、
開発者が理解して設計する手法をドメイン駆動設計と言う。