ドメイン駆動設計とは
ソフトウェアの設計手法です。 英語ではDomain Driven Designと書かれるので、略してDDDとも呼ばれます。 原著は「エリック・エヴァンスのドメイン駆動設計」です。 いわゆるDDD本として知られています。
言行一致
実は、自分はドメイン駆動設計の本を読む前(2016年末頃)にいろいろ試した結果、 「自分が使う言葉をそのままコードにすれば良さそうだな」 というのは何となく感じていました。 なので、DDD本を読んだときも、基本的な考え方は割とすぐ理解できました。
自分の中でドメイン駆動設計を一言で表すと、「言行一致」です。 自分が言っていることを、コード(行動)と一致させるからです。
役割駆動設計
ちょっといいなと思ったのが、「役割駆動設計」という呼び方です。
本には書いていないオブジェクト指向
以下のサイトはDDDとは直接関係ありませんが、 オブジェクト指向の設計として役立つ記事があります。
例えば小粒クラスはValue Objectのことで、 リンゴ一個とリンゴ一山は異なるクラスはAggregateを指しています。
参考文献
外部サイト
- ドメイン駆動で開発する ラフスケッチから実装まで
- zkavtaskin/Domain-Driven-Design-Example: Domain Driven Design Example C#
- ドメイン駆動設計 第2章 ユビキタス言語を読みなおした - yoskhdia’s diary
- レイヤー設計とか、オブジェクト指向とか、DDDとか、その辺 - まっつんの日記
- エリック・エヴァンスのドメイン駆動設計を1週間で読んでみた - アラタナエンジニアブログ
- [ 技術講座 ] Domain-Driven Designのエッセンス 第2回|オブジェクトの広場
- 新卒にも伝わるドメイン駆動設計のアーキテクチャ説明[DDD] - little hands' lab