モデルと実装
概念を実装から切り離してはならない
(序文 より)
かつて、オブジェクト指向の説明と言えば、車クラスがあって、車クラスがタイヤクラスやハンドルクラスを持って・・・なんて説明がよくされていたものだ。
その説明の仕方は間違いだという声をよく聞くが、自分はあながち間違っているわけではないと思った。
過去のオブジェクト指向方法論が目指して挫折していた現実世界をモデル化してソフトウェア世界をスムーズに繋ぐという夢は、DDDにおいてはドメインを記述する単位をオブジェクトからより自然な「ユビキタス言語」というDSLの次元に持ち上げることで、より的確に表現されている。
(羽生田さんによる日本語版推薦文 より)
ユビキタス言語によって、ドメインエキスパートと技術者と実装がシームレスにつながってはじめて、複雑さをコントロールすることが可能になっていくということ。
かつての車クラスも、車カタログなどのアプリケーションの実装まで説明すればわかりやすかったのかなと思ったりする。
概念は実装から切り離さずに考えて『役に立つ』モデルを。