Smalltalkベストプラクティス・パターン

ソフトウェアでパターンというと、多くの方はオブジェクト指向における再利用のためのデザインパターンで紹介され広く世に広まったデザインパターンをイメージされると思います。しかし、同じくソフトウェアのパターンについて紹介しているソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系を参照すると、ソフトウェアにおけるパターンは、対象のスケールと抽象度により以下のように分類されると記述されています。

このうちアーキテクチャパターンというのは、昨今のさまざまなフレームワークに応用、使用されているMVCパターンやレイヤパターンといったアーキテクチャのためのパターンになります(前述のソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系は、アーキテクチャパターンについて非常に詳しく紹介、解説された名著になります)。
次にデザインパターンですが、デザインパターンは前述のオブジェクト指向における再利用のためのデザインパターンで紹介されている通り、サブシステムやコンポーネント等の関係を洗練するためのパターンになります。
そして最後、イディオムですが、イディオムとは最も抽象度が低く、プログラミングの記述を洗練するためのパターンとなります。イディオムについては言語に因るところが大きいため、各言語ごとに、さまざまな形でその紹介がなされています。代表的なところでいうと、Effective系の書籍(Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)Effective Java プログラミング言語ガイド)などが、それにあたると考えます。

で、Rubyですが、Rubyにおけるイディオムレベルでのパターンについての紹介は、まだまだ露出が少ないように思います。ですが、そういったイディオムレベルでのパターンについて紹介していくことは、これからますますたくさんの人がRubyでプログラミングしていくことが考えられる今日において、非常に大切なことではないのかな、とも思います。

そこでケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集

本書で紹介されているSmalltalkにおけるベストプラクティス・パターンの多くは、オブジェクト指向言語の後輩として大なり小なり影響を受けているRubyでプログラミングしていく際にも、非常に有効です。

ということで、尊敬する咳さんが既にやられていることは存じつつも、これから少しずつ、ケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集にて紹介されているパターンについて、自分の言葉、自分の理解で、Rubyに置き換えて紹介していければと思います。