『Go言語で構築するクリーンアーキテクチャ設計』(上田裕耀・菅間伶史・ギュウ:著 インプレス)、読了。
またGo言語本を。
今回はGo言語を使ったクリーンアーキテクチャの解説です。わりと最近、開発者の募集でも「クリーンアーキテクチャを理解していること」なんていう条件がちらほら見られるようになりました。わたしも技術者の端くれですので、「クリーンアーキテクチャって何?」ということで少し気にしていたところ、たまたまなじみのあるGo言語による解説本を見つけたので、読んでみました。
本書によりますとクリーンアーキテクチャとは、「ソフトウェアを異なるレイヤーに分割し、依存の向きをコントロールすることによって関心事の分離を目指します」ということだそうです。よくわかりませんよね(泣)。
もちろん、よくわかりにくいことを理解できるようになるためにあるのが解説本です。前半20%ほどで概念の説明があった後は、サンプルコードによる具体的な実装を使った解説になります。
ごく薄い本なので、多分クリーンアーキテクチャの基礎の基礎、くらいの内容なのかなと思います。これだけで実務に耐えられるかというとどうかなという気がしますが、取っ掛かりとしてはむしろこのくらいの密度で一通り流してみる方が入っていきやすいかもしれません。
重要なキーワードとして何度も出てくるのが「依存」、さらに「依存性逆転の原則」です。
「依存性逆転の原則」については、以前読んだ『詳解Go言語Webアプリケーション開発』にも出てきたので知っていました。その時も説明だけでは全くピンとこなかったのですが、自分でコードを書いてみて、さらにテストを自分で検討するに至って、ようやくその意義が理解できました。やはり読むだけでなく、手を動かすのが理解の早道のようです。