Categories
ドメイン駆動設計

ドメイン駆動設計への導入

概要

 ソフトウェア開発を行う目的は、ソフトウェアを使ってビジネス上などの問題を解決することです。例えば、会計システムであれば、支出の仕分けや、入出金の管理などすることが目的となります。実際に解決したい問題に関する領域のことを「ドメイン」と言います。先ほどの例でいうと、会計システムのソフトウェア開発を行う上では、会計の知識、つまりドメインに対する知識が必要となってきます。

 ドメインの問題をソフトウェアで解決をしたいのですが、ドメインをそのままソフトウェアに落とし込むことわけではありません。一旦、ドメインのモデルを作り、そのモデルをソフトウェアに反映するということを繰り返していきます。ドメインから抽象的な要素を抜き出し、モデルを作り、それらを実装に落とし込む設計手法のことを、「ドメイン駆動設計」と言います。

 このように設計を行うと、ソフトウェアの利用者と、開発者間での認識の祖語を少なくすることが期待できます。さらに、ドメインに対する知識を持っている人とソフトウェア開発者が連携することで、モデル自体を成長させることが出来、よりよいソフトウェア設計、開発が可能になります。

参考資料

https://little-hand-s.notion.site/b97c1a305aa24040a63a61b3cd863e55