本書の利点はタイトルにもある通り、「使える」レシピが満載されていることです。
「レシピ」というより「処方箋」のほうが近いかもしれません。
ソフトウェアの詳細設計やコーディングを行う現場で、大いに活用できます。
では、どのように「使える」のか?
それは「せっせとコードを書く作業を減らせる」ことです。
Commonsの実態は、汎用のライブラリー群です。
一般にソフトウェア開発の現場では、JDKのAPIを使ってクラスやメソッドを作成します。
例えばファイルをオープンして別のファイルに書き出して、ファイルをクローズするといった処理があります。
Commonsは、このような典型的な処理を汎用的な形でモジュール化してあります。
開発者は、このCommonsを使えば目的を果たせます。JDKのAPIを書き連ねる必要はなくなります。
より抽象化された形で設計やコーディングができるようになります。
ですから、生産性が向上するだけでなく、欠陥が少なくなり、保守性も向上します。
このような即物的なご利益だけでなく、本書にはもう一つ重要な利点があります。
それは「上手な設計を学べる」ことです。
「設計が上手くなるには他人のソースコードを読め」とは、昔から言われている言葉です。
でも、そんな手間はなかなかとれません。玉石を選り分けるのに時間がかかります。
設計の意図を推し量るのも大変です。
本書ではレシピ毎にソースコード例が挙げられています。どれもよく吟味され、こなれているものです。
例だからといって無闇に使うのではなく、適切な局面にCommonsを適用しています。
ですから各レシピを読み進めれば、「どういう局面では、どのような設計が好ましいのか」身に付けることができます。