現場で役立つシステム設計の原則を読んだ。

今のプロジェクトではドメイン駆動設計やら、クリーンアーキテクチャーをプロジェクトに採用している。要はSOLID原則を守った開発をやっていきたい。

しかし自社の若手のPull Requestを見るとそもそもどうしてドメイン駆動設計を使っていくべきかを理解していない気がしている。

そもそもの失敗経験も少なく、いきなりドメイン駆動設計とか言われて、面倒臭いなと思われているかもしれない。ぐちゃぐちゃで保守しにくいソースコードとかで苦労した経験が少ないのかもしれない。

それでドメイン駆動設計以前の開発の原理原則がまとまっている本を探していて、この本を読んでみた。

 

本の中で紹介されていた値オブジェクトは今のプロジェクトにも導入していて、素晴らしさを実感している。

3章の3層モデル(プレゼンテーション層、アプリーケーション層、データソース層)+ドメインモデルの話は個人的にはもっと深堀りしてほしかった。Spring frameworkを使ったプロジェクトでは、アプリケーションにゴリゴリロジックを書いていた記憶がある。ドメイン層とやり取りするならば、そのデータの受け渡しってどうやっていけばよいかをもっと知りたかった。DTOみたいに変換するオブジェクトを用意するしかないのかなと。結構実装する量が多くて大変な気がしている。

 

開発の中で大事なことがコンパクトにまとまっていて、いい本だと思う。もっと深掘りしたければ、エリックエヴァンスのドメイン駆動設計など参考文献で紹介されている本を読んでいけば良いのかなと。