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

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

読んで分かること

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

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

といったことを丁寧にそしてしつこく説明してくれている。

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

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

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

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

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

雑感

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

あと、Javaのサンプルコードが頻繁に出てくるんだけど、Javaって凄いなとも思った。
デザインパターンの要素を上手く取り込んで作られているよね、素晴らしいわ。

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

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

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

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

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

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