軽量言語からJavaに移って苦労している人はデザインパターンの本を読むと良い
デザインパターンの本は何冊か読みましたが、当時はいまひとつピンときませんでした。
行番号付きBASICからはじまってC言語、Ruby、R、Pythonとクソコードを書き散らしてきましたが、あまりデザインパターンの必要性を感じなかった。
話が変わったのがJavaに触れてからです。
interface、extends、implementsという拡張のさせかたがしっくりと来ず、リストリクト過ぎてどうすれば自分の思った通りのことが実現できるのか分からない。
そんな時に出会ったのがこの本です。
Javaデザインパターン徹底攻略 (標準プログラマーズライブラリ)
私が参考になったのはこの本でいう7番の「Bridgeパターン」でした。2つのクラスはそのまま残しておかないといけなくて、しかしながらそいつらを組み合わせたクラスを作らないといけない。RubyとかPythonならまあ予想はつくんですが、Javaでどうすればいいか頭を抱えていたところこの本を読んで「おお、こうするのか!」と呻きました。
そのとき初めてデザインパターンの威力を実感しました。というか今でもJavaでしか実感したことがない。
このように、Ruby、R、Pythonといった軽量言語(この言葉もあまり一般的ではないですが)から極めて制限の強いJavaに移って「もどかしさ」を感じられておられる方は、デザインパターンを勉強すれば若干苦しみが減ると思います。