1.1 ドメイン駆動設計とは何か
「ドメイン駆動設計入門」の読書メモ。
今日は「1.1 ドメイン駆動設計とは何か」(2ページ~3ページ)を読みます。
(↓本記事対応のオーディオブック 時間:2分8秒)
利用者にとって価値のある知識を選ぶ
利用者にとって役に立つソフトウェアを開発するためには、価値ある知識と無価値な知識を慎重に選り分けて、選び抜かれた知識をコードに落とし込む必要があります。そうした手順を踏んで作り上げられたコードは有用な知識が込められたドキュメントの様相を呈してきます。
コードを見ただけで、処理やデータ構造について、何をやっているのか?何を意味しているのか?が理解できるようになっている方が良いですね。
利用者の問題を見極める
価値あるソフトウェアを構築するためには利用者の問題を見極め、解決するための最善手を常に考えていく必要があります。ドメイン駆動設計はそういった洞察を繰り返しながら設計を行い、ソフトウェアの利用者を取り巻く世界と実装を結びつけることを目的としています。
「ドメイン駆動設計」という名称は、なんか親しみが持てない大袈裟なネーミングに思えるけど、言ってること自体は極当たり前のことなんですかね?
知識をコードに埋め込む
ドメイン駆動設計はまさに知識をコードへ埋め込むことを実現しているのです。
「知識をコードに埋め込む」というドメイン駆動設計(DDD)の目的とコンセプトを常に念頭に置いて、本書を読み進めていきたいと思います。