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

はじめに

先日、増田亨さんの「現場で役立つシステム設計の原則」を読んだので感想を。
しばらく前に買っていたのですが、年末で余裕があったのでやっと読了しました。

現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法

現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法

現場で役立つシステム設計の原則

概要

全10章で構成されていて、総じてDDDやオブジェクト指向メインの話になっています。
なぜそうするのかという理由とサンプルコードと一緒に説明がなされていて、イメージがわきやすくなっています。

感想

1番の感想は、「新卒1年目で読みたかった」ということです。
納得できるできないは別として、オブジェクト指向を単なる知識ではなくシステム設計として適用するにはどういうことなのか、何をどうすればわかりやすいのか、ということがよくわかりました。
特に、今となっては当たり前にやっていますが、第3章「業務ロジックをわかりやすく整理する」で紹介されている、三層アーキテクチャドメインモデルの例はとてもわかりやすく、もっと早く新卒1年目あたりで知りたかったです。

第1章は値オブジェクトに関することで、第10章はオブジェクト指向設計の学び方に関することで、徐々にミクロからマクロにスケールが大きくなっていくような構成になっていて、目の前のことからより俯瞰したことまでを順番に紹介していきたい意図がある気がします。
それもあって、自分の中で視野?が広がる感覚があり、とても読みやすかったです。

ただ、いくつか疑問もありました。
例えば、第8章で細かい粒度でAPIを作成して必要なデータだけを取得するという話がありました。
これに関しては、確かにそういうやり方もありますが、本当にそうしたいならGraphQLを採用して必要なデータだけを要求するという方法もあるかなと思いました。

全体を通してDDDやドメインエキスパートといった言葉は出てきませんが、DDDを平易な言葉で言い換えているということがよくわかります。
いかにも英語を日本語に直しましたという文章ではなく日本語で日本語らしく説明されているのでとてもわかりやすくなっている気がします。

上述のAPIや、DBやビューに関して言及している箇所など、いくつか簡単には納得できないこともありますが、総じてとても良い本だと思います。

どう読むか

やはりこういう本は視点が変われば意見も変わると思うので、普段の会社のメンバーで読み合い、議論までできると業務に生きてくるのかなと思います。
最近は読んで終わりということも多いので、良し悪しだけでなく皆の考えを知るためにもそういう機会を用意してみようかなと思う今日このごろです。