『Clean Architecture 達人に学ぶソフトウェアの構造と設計』読んだ

ソフトウェア設計なんも知らんので購入。

雑な感想

  • 依存性逆転最高という感情が文章から溢れ出ている。
  • 「システム」と「アプリケーション」の使い分けがようわからん。基本的に同一視してもいいか?
  • 「コンポーネント」と「モジュール」の違いはわかる。前者はビルド・デプロイ単位で、後者は名前空間。よって、コンポーネントはモジュールを包含する。たぶん。
  • 「サービス」ってなんだ?コンポーネントとどう違う?システムが提供する機能そのもの?これがわからないので27章を理解できなかった。
  • 34章はさらにわからない。執筆者が違うためなのか、単におれが他のアーキテクチャについて知らなさすぎるためなのか。
  • 最も頭が痛くなったのはまえがき。やたらと高尚な言い回しで出鼻をくじかれるので、初見ではスキップ推奨。
    • まえがきを書いてるのはKevlin Henney氏。C++方面で有名なコンサルらしいが、末端のおれからしたらんなこと知るか。
  • DDDやTDDとどう関連するかは知らん。なぜならそれらの本を読んだことがないから。
  • GoFについて勉強する必要性を感じた。読みたい本が多くなりすぎて困る。本読む前にコード書いて試行錯誤するほうがいいんじゃないかという気持ちもあるし、みんなはどう折り合いをつけているのだろう。
  • 関数型言語として取り上げられてるのが動的型付けのLispしかないのはちょっと気になる。おれ自身たいして詳しいわけではないが、静的型付けなら型クラスやトレイトで依存性逆転と似たようなことできそう。
  • そして無視される論理型言語。あわれなりProlog。
  • マーケティング部門をこきおろす文章に笑う。「マーケティングの奴らはいつも、ビジネスルールと UI を一体化したがるのだから」
  • 24章で手抜き方法を紹介していることには少し驚いた。もっと原理主義的な本だと思っていたから。
  • 結局、クリーンアーキテクチャって? : 優れたアーキテクチャの最大公約数的なもの。Robert C.Martin氏が見出した共通点。