Rubyのデザインパターン本

いつの間にか邦訳も出ている「Design Patterns in Ruby」(Russ Olsen)を100ページあたりまで読み進めた。「Javaデザインパターン徹底攻略」という本に比べて10倍ぐらい面白い。例が具体的だし、わざとらしくない。なぜそのパターンが必要になるのかということから説き起こし、素朴な実装からコードを進化させるというアプローチがいい。先人が歩んだ道という感じ。

Rubyでは言語仕様やライブラリにGoFで言うデザインパターンが取り込まれていて、その辺のこともちゃんとわかりやすく書かれているように思う。例えばObserverパターンとはどういうものか、素朴なアプローチはどういうものか、その問題点は何か、Javaではどうやったのか、Rubyではmixinできるモジュールとして提供されているけど、それがなぜなのかといったことが順序良く解説されている。Rubyに付属するobserver.rbをあわせて眺めてみたり。

やっぱりコードを見ると勉強になる。Rubyは目に入ってくる文字の数が少なくていいなあと思いながら、色々と眺めたりしている。