🔖

【読書ログ】「Get Your Hands Dirty on Clean Architecture」Tom Hombergs

2024/08/15に公開

https://www.amazon.co.jp/Hands-Dirty-Clean-Architecture-hands/dp/1839211962

概要

クリーンアーキテクチャではないレイヤードアーキテクチャの問題点からはじめ、その問題をどうクリーンアーキテクチャが解決するかをはじめから丁寧に解説している。

クリーンアーキテクチャの一形態としてヘキサゴナルアーキテクチャを紹介しつつ、具体的な設計、実装にまで踏み込んで解説しており、後半は実践的。

誰がインスタンス作るんだ、とかレイヤーの境界をどう守り続けるか、みたいな著者の経験則的なところも面白いポイント。

個人的ポイント

Usecase

読書メモ見返すと4章、Usecase周りが最もボリュームあり。

UseCaseはビジネスロジックに注力すべきであり、入力のバリデーションで汚染されてはいけない。input validation と business rule validation とをしっかり区別する。

仕事上、フロントエンドに無理やり当てはめると

  • Serviceが要求するinput
  • 画面だけが要求するinput

があって Commandはそれらを束ねる役割になるかな。

どこにバリデーションロジックを書くかで、そのバリデーションルールの由来がわかって良さそう。

Shortcut

基本的にはやったらあかんで、なアンチパターンも紹介されてて嬉しい。
一方で「慣れたらこんなショートカットも」と実践的な紹介もあり。

この辺りは自分が経験する中で、都度参照すると良さそう。

感想

各章の最後に「これ(このテクニック)がどう役に立つのか」がちゃんとまとめてあって読みやすい。
ドメインモデルを独立させ、重要なドメインロジックが長生きするようにするためにどうするか、という軸が最初から最後までぶれないので、自分のような初心者にも理解しやすい構成だった。

一方で、Springフレームワークの詳細に突っ込んだ部分もあり、その辺は経験してないと読みづらい。

Discussion