デザインパターンという言葉は、Java House ML の中で聞いたのが最初だった。何だろうと思って、書籍を購入してみたところ内容が濃くて驚いた覚えがある。まだオブジェクト指向の良さを完全には理解していなかったので、まさに目から鱗の内容がいくつもあった。もっと驚いたのは、「そんなの当たり前」というオブジェクト指向のエキスパート達がたくさんいるということだった。
GoFの本をあらためて開いてみると、著者の序文は1994年8月に書かれている。もう10年近くも前になる。日本語版の初版は1995年だったようだ。自分が本を購入したのは1997年のことなので、原版が出版されてから3年も経ってから知ったことになる。ところがそれでも日本ではまだデザインパターンというのは知られていなくて、知人に「これからはデザインパターンは必須だ」という話をしても「なにそれ?」という反応が多くて、世間的には有効性をなかなか信じてもらえなかったという印象がある。
2000年にObserverパターンを題材に教材を作成したが、当時でもまだデザインパターンは雑誌記事などでとりあげられることが多く、普及段階だったという記憶がある。いまではJ2EEなどでもいくつかのデザインパターンが提唱されて、プログラム設計に関するノウハウに対してはデザインパターンとして共有しようという流れになっている。こんなにも世間に受けいれられるとはGoFも思っていなかったのではないだろうか。
最近は、TDD(Test Driven Development)関係の書籍でもいくつかのデザインパターンがとりあげられたり、普通に使われるようになってきた。学校でも授業の中で教えることが増えて行くだろう。自分でデザインパターンを使ってクラス設計をすることはなくても、JavaのAPIを使うときに、デザインパターンを知っているとAPIの設計を自然と理解できる部分が多いので、そういう観点からもきちんと教えようと思っている人は教えていくのだと思う。
Iteratorパターンを教えていて、デザインパターンはいつごろから言われるようになったのかな、と思ったので、こんなエントリーを投稿してみました。