はじめに
こんにちは!
最近割と勉強欲が高めで維持できているのが嬉しい一方で、少しこの状態が不思議な@Matsui_engineerです!
今回はタイトルにもある通り、ドメイン駆動設計についてです。
成瀬 允宣さんが書かれた「ドメイン駆動設計入門」を読みました。
読んだだけでもなるほどと思うことがたくさんあったのですが、読んだだけではもったいない!と考え、アウトプットして、理解を深めようと思った次第です。
ただ、本で読んだ内容をそのまま記事にするだけでは面白くないし、オリジナリティがないと考えたので、手を動かし、ソースを交えながら理解を深めたいと思います。
更新が遅いかもしれませんが、優しく見守っていただけるとありがたいです🙏
Myルール
今回、本のChapterに沿って学習を進めていきたいと思います。そこで、いくつかルールを決めました。
- JavaのSpring Bootを利用して、手を動かしてみます。(本書は基本的にC#でのコードが提示してあります。)
- 作成したソースはGitHubにて公開する。
- Gitリポジトリはこちら
- Chapter毎に行った修正はブランチ毎に分けようと考えています。
- 最新版はmainブランチとします。
- Chapter毎に理解したことを自分なりの言葉で要約してみる。そのあと、実際にコードをかいてみる。
また、実装するケースは本書のChapter11「アプリケーションを1から組み立てる」で提示されていたケースで行います。
(このあたりのケースは後ほど変えるかもしれません。)
題材とする機能 - サークル機能
ユーザ同士の交流を促進する「サークル機能」が題材です。
各チャプターにて、学んだことを手を動かす際に、以下のケースを例に作成してみます。
ユースケースは以下とします。
- サークルの作成
- サークルの参加
また、サークルのルールは以下です。
- サークル名は3文字以上、20文字以下
- サークル名はすべてのサークルで重複しない
- サークルを作成したユーザはそのサークルのオーナーとなる
- サークルに所属するユーザの最大数はサークルのオーナーになるユーザを含めて、30人
※必要に応じて、上記の情報は各記事に提示しておくつもりです。
Chapter毎の学習
Part1 「ドメイン駆動設計とは」