「なぜ依存を注入するのか DIの原理・原則とパターン」が良かった話

book.mynavi.jp

この本を読みました。よかったのでブログにします

読もうと思ったきっかけ

 設計に関する本やデザインパターンに関する本はいくらか読んできたのですが、DIに関しては理解があやふやだなと思っていました。<とりあえずDBへの処理など外部への処理をDIしとけばいい>というような浅い理解しかしておらず、ちゃんと使うには知識が足りていないと感じていました。  そこでこのタイトルの本が発売されたのです。私にドンピシャだったので即決で購入しました。

最初の印象

分厚い  

が最初の印象でした。扱うことはDIのことだけなのに600ページ以上のボリュームがあります。レイアウト的にも文字がビッシリと書かれており、翻訳書特有の読みにくさに合わせて、知らないワードが矢継ぎ早に流れてくるので、一章ではかなり面喰いました。この分量を読み切るのは無理なのではないかと思ってしまいました

読み進めてわかったこの本の良さ

 一章で面喰ったのは当然でした。一章はこれから説明する概念の紹介パートであり、一章だけで理解できるならこの本を読む必要はありません、二章以降は丁寧な説明が続いていて、丁寧さが分厚さにつながっているのだと理解しました。この本では最後まで一貫して


一般的なプログラマーが陥りがちなアンチパターンコードを例示する

そのアンチパターンになぜ陥ってしまうのか、プログラマーの心理と合わせて解説する

そのアンチパターンがなぜダメなのかを解説する

アンチパターンを改善するためにどうすればいいのか、改善後のコードと合わせて解説する

という流れで解説されており、アンチパターンに対しての分析と解説を非常に丁寧にしている印象でした。いきなり正解を提示せずに、アンチパターンコードの考察から展開されていくので、その流れを追っていくだけで自然に理解できるような構成になっています。私も業務の中でやってしまいがちなアンチパターンが多く、どういう考え方でリファクタリングすればいいのかこの本を読むことでかなり理解できたので、今後の業務で実践できそうだと思いました。疎結合で保守性の高いコードを書きたい方はぜひ書店で立ち読みしてみてください

一章はわからなかったら流し読みでOK!一章は一部の要素を除いて全体の紹介です

強いて問題点を挙げるなら

  • C#全くわからないと厳しいかも
  • ASP .NETなどのマイクロソフトフレームワークを使ったことがないと読むのが大変。読めるように配慮はされているが、私はUnityエンジニアなので少し大変だった