いまさら『Clean Architecture』の感想文
手遊びで Go でバッチ処理を書いてるのだが,ちょっと作業に飽きてきたので,前々から書こうと思っていた『Clean Architecture』の感想文をやっつけてしまおう。
Robert C. Martin(通称ボブおじさん)による『Clean ◯◯』シリーズのひとつが『Clean Architecture』である。 この本の中身については以下の解説記事が分かりやすい。
本記事を読むくらいなら上のリンク先記事を読むことを強くお勧めする。 以上!
では面白くないので,続きを。
『Clean Architecture』の面白いところは,各トピックが非常に短い文に凝縮されているところ。 たとえば「構造化プログラミング」「オブジェクト指向プログラミング」「関数型プログラミング」の3つのプログラミング・パラダイムについて
などと,ざっくりした文で締めくくっている。 いや,ざっくりしすぎだろう(笑) こういう解説を読んでしまうと, GOTO は悪とか継承がどうのとか多態化だの単態化だの不変だのそれっぽい用語を並べて語るのが馬鹿らしくなる。
世の中に山ほどのプログラミング言語があるが,すべてこの3つのパラダイムの組み合わせで成り立っていて,これらが課す規律または制約がプログラム・コード→コンポーネント→アーキテクチャにどう影響を及ぼすのか,というのが言語を語る(騙る?)際の最重要ポイントだと思う。
『Clean Architecture』の主題である「アーキテクチャ」にしてもそう。 この本ではアーキテクチャを「システムに与えた「形状」である」とし,アーキテクチャの形状の目的は「ソフトウェアシステムの開発・デプロイ・運用・保守を容易にすることである」と述べ,さらに
と締めくくる。 ここで私はあの名作を思い出すのである。
つまり,プログラミング・パラダイムによって与えられる「制約」が巡り巡ってアーキテクチャという「構造」を生み出す。 おー,円環が繋がったぞ(笑)
個人的には「第32章 フレームワークは詳細」の
でバカウケしてしまった。 うんうん。 フレームワークとは距離のあるお付き合いをしたいものである(笑)
以前に『ユニコーン企業のひみつ』の読書会の話を書いたが,私は『Clean Architecture』も同時に読み返していた。 プロダクトのイテレーションを継続するためにはアーキテクチャの「できるだけ多くの選択肢を残す」戦略が必須だと思ったからだ。
こんな感じで,私はちょいちょい読み返している。 特に設計に迷ったときとか,決して「正解」を教えてくれるわけではないけど,プロダクトやシステムにとって何がコアで何が「仔細」なのか,設計が外道に落ちないようストッパーとしてこの本は効いている。
【2022-12-10 追記】「ちょうぜつエンジニアめもりーちゃん」を読め!
祝♪ #ちょうぜつエンジニアめもりーちゃん 単行本化!
というわけで,『Clean Architecture』じゃフワッとしていてよく分からんって方やこの記事の最初に挙げたリンク先よりもう少し詳細な解説書はないのか? って方には田中ひさてるさんの『ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用』を併せて読むことをお勧めする。
特に第9章コラムにある
というのは本当にそのとおりだと思う。 こういった良書を時間をかけて理解していくことが大事である。
ブックマーク
参考文献
- Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ)
- Robert C.Martin (著), 角 征典 (著), 高木 正弘 (著)
- ドワンゴ 2018-08-01 (Release 2018-08-01)
- Kindle版
- B07FSBHS2V (ASIN)
- 評価
実務に即効性のある技術解説書というわけではないが,ものの「考え方」を示す本としてはよく出来ている。ソフトウェア技術史の読み物としても面白い。
- ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用
- 田中 ひさてる (著)
- 技術評論社 2022-12-07 (Release 2022-12-07)
- Kindle版
- B0BNH1J2W2 (ASIN)
- 評価
祝♪ #ちょうぜつエンジニアめもりーちゃん 単行本化! 私は版元で電子版を購入した。絵は可愛いが読み応えあり。「SoftwareDesign」連載分も収録されていて超お得!
- ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方
- Jonathan Rasmusson (著), 島田 浩二 (翻訳), 角谷 信太郎 (翻訳)
- オライリージャパン 2021-04-26
- 単行本(ソフトカバー)
- 4873119464 (ASIN), 9784873119465 (EAN), 4873119464 (ISBN)
- 評価
版元より電子版も出ている。 Google や Spotify のような「ユニコーン企業」はどのようにして「ミッション」を遂行しているのか。
- 数学ガール/フェルマーの最終定理
- 結城 浩 (著)
- SBクリエイティブ 2008-07-29 (Release 2014-03-12)
- Kindle版
- B00I8AT1CM (ASIN)
- 評価
「フェルマーの最終定理」というサブタイトルをみたとき「なんちう大風呂敷を広げるねん」と思ったものだが,実際に読んでみるとぐいぐい引き込まれる。ひっさびさに頭を使ったような気がする。