デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

見た目とタイトルからして読みづらいそうな本だなと思って手に取ったんだけど、意外と1週間ぐらいで読めてしまったことに自分で驚いている。
内容は決して簡単じゃなくて、オブジェクト指向とかデザインパターンというテーマ柄、抽象的な概念の話がどうしても多くなってしまい、気を許すと何がなんだかわからなくなってしまうこともしばしばあった。
この手の本は集中力を要求されるね。

読んで分かること

この本でわかることっていうのは、デザイン・パターンの本質というか、利用する動機部分だと思う。

  • どういった時にデザイン・パターンを使ったら良いのか
  • 使うことによってどんなメリットがあるのか

といったことを、丁寧にそしてしつこく説明してくれている。
そんなアプローチで説明してくれる本はあまりないらしく(あったとしても、ここまで丁寧には説明していないはず)、その結果がこの本に対するポジティブな評価に繋がているんだと思う。
個人的にはしつこいのが凄く良かった!

この本の対象者だと思われる人

単純にパターンの勉強がしたい人は、あまりオススメできない気がする。
GOFの全てのパターンが紹介されているわけでもないし、この本で説明されてないパターンの話もちょいちょい出てくる。
あと、デザイン・パターンを全く知らずに、この本をデザインパターンの入門書にしようとしている人も、辞めたほうが良いかも。
軽くでも良いので、ざーっとGOFのパターンの説明だけでも、先に読んでおいたほうがいい気がするかな。
僕もネットの情報だけど、ざーっと読んでおいたから理解が進んだ気がするし、GOF本を読んでいなかったため、全くわからないところもしばしばあった。

なので、デザインパターンの本はひと通り読んでみたけど、いまいち使いこなせていない人 がベストな気がする。

個人的にはGOF本は先に読んでおけば良かったとちょっと後悔したかな。
難しそうなんだよな・・・GOF本。

雑感

とにかくデザイン・パターンやオブジェクト指向といったことに対して、ちゃんと勉強したことがなかった自分にとっては、めちゃくちゃ為になる本だった。
読む前と読んだ後で見える景色が完全に変わったぐらい。
まあ、まだ景色が変わっただけで、実践は出来そうにないんだけど。

あと、Javaのサンプルコードが頻繁に出てくるんだけど、Javaって凄いなとも思った。
結構デザイン・パターンのことを考えて作られているよね、素晴らしいわ。

あと、オブジェクト指向を進めていくとデザイン・パターンになるというか、2つは表裏一体というか、そんな関係なのも初めて知った。
オブジェクト指向プログラミングが出来る言語を使っているなら、デザイン・パターンを習得するのはとても効果的だと思うし、勉強していかないとダメなんだろうなと実感した。
そうじゃないと、その言語の良さを体現出来ない気がするし。

最近技術書を読んで思うことは、本を読んだことによって、知識を得られるのは確かなんだろうけど、また新たな宿題をもらってしまうというか、きりがないということ。
読み終わったと同時に、また何かが始まってしまうというか、勉強すればするほど自分の無知っぷりを痛感させられるというか。
まあ、それだけ実りがあったということなんだろうけど。

あと、こういったがっちり固めの本(といっても丁寧に説明されているので、まだ優しいとは思うんだけど)を読む時の自分のリズムというかそういうものを発見できたのも良かった。
具体的には、

こまめに時間を取って、ちょっとずつ読む
けど、読む時は集中すること

例えば、通勤でちょろっと読んで、会社の昼休みにちょろっと読んで、寝る前にちょろっと読む。
一つ一つは30分ぐらいで良いから、少しずつ読むと結構集中力が持続出来て良いと思う。
読んでない間も頭の中で整理出来るしね。

ということで、デザインパターンについては継続して勉強していきたいと思った。
次はGOF本読むぞ!