会社でドメイン駆動設計入門の読書会した話
こんにちは。Nonです。
今回は会社で読書会をしている話をしようと思います。
読んでいる本
読んでいる本はこちらのドメイン駆動設計です。
ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本
以前の記事でも言っていたように、業務でDDDを利用して開発することが多くなったのですが、DDDに精通している人が少ないという問題がありました。
そこで、その精通している人が読書会をしようかと誘ってくださいまして、是非にと参加させていただきました。
進行方法
読書会の進行方法は
- 今回読書の対象にする章を決める。
- 20分間その章を読む
- 読み終わってしまった人は、もう一周読み直すか、次の章に進んでもらう
- その後40分間で、その章に対する疑問や考え方をディスカッションする
- 1〜3を毎週定期的に行う
という進行方向となっています。
社内で読書会をするのはこれが初めてなので、進行方法はもっといいのあったら教えて下さい。
今回読んだ内容
今回読んだ内容は第1章ドメイン駆動設計についての触りでした。
ですので、特に疑問とかありませんでしたが、ディスカッションのときに出たメンバーの一言がすっごい納得できたので、共有しようと思います。
ドメインの考え方
Non:「図1.5の『ドメインの概念』と『ドメインモデル』と『ドメインオブジェクト』の垣根がよくわからんよなぁ」
A: 「うーん。例えば、車があるとして、『ガソリンの量』、『速度』とかをプロパティに設定しますよね?」
Non:「うんうん。わかる。」
A: 「そこに空を飛ぶ機能を追加するとしましょう。」
Non:「(車は飛ばんやろ……)」
A: 「すると『高度』ってプロパティを追加します。なぜなら、『ドメインの概念』が変わったので、『ドメインモデル』と『ドメインオブジェクト』も変化したからです。」
Non:「うおおおおおおお!!!めっちゃ納得した!これまでありえないことをプログラミングしないように気をつけていましたが、ドメインの変更を許容する考え方と言えるかもしれないということですね!」
A: 「そうです。なぜならドメインはドメインスペシャリストが付いて一緒に進めるものですから、ドメインの変更はできるだけプログラムに落とし込んでいきたいですよね。消費税だって軽減税率で消費税が2種類できたとドメインが変更したと言えるかもしれないです。」
これめっちゃ納得しました。
普段自社開発しているので、仕様を決めるのは自分でした。
しかもそのときに、「ありえないこと」「やってはいけないこと」に注視して、プログラミングしてきましたので、今回のAさんの一言でかなり価値観が変わりましたね。
最後に
今回は1章だけでしたので、気付きは少なめでしたが、Aさんの言った内容はぜひ共有したかったので、記事にしました。
次回以降は具体的な実装方法になってくるので、考え方とかではなくコードベースでの気付きはあるかもしれません。
毎週やっていくので、しばらくはこの記事になるかもしれません。
別の新個人開発プロジェクトでPWAの通知方法のコードも進んできているので、こちらも時間ができたらシェアしたいですね。
その時はよしなに。
.