------------ 序 ------------
GoF のデザインパターンは、図らずも Java/C#
の脆弱さを露呈する結果となりました。Ruby/Python
などのより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパターンは単純なイディオムに過ぎず、言語によっては組み込みの機能として提
供されているものも珍しくありません。また、GoF の事例を鵜呑みにすると、迂遠なアプローチを余儀なくされるばかりか、Ruby/Python などのより洗練された特徴を活かせません。GoF を模写しても始まりません。GoF が模写したその起源を探ることで、パターンの本質に迫れます。
この連載では、GoF デザインパターンを反面教師として、真のオブジェクト指向の世界を目指す旅へと誘(いざな)います。GoF が何を伝え、何を伝えなかったのか。そのルーツを探ってみると、新たな知見が開けてきます。そろそろ、釈迦の掌(Java/C#)から脱して、天竺(Ruby/Python)へと旅立ちませんか。
Java 原人からホモサピエンスへ:Java/C# から Ruby/Python への進化を望むプログラマーには、ひとつありがちな落とし穴があります。それは、GoF の例題に示してある、Java/C# のために脚色されたフレームワークに追従するあまりに「先祖返り」を余儀なくされ、Ruby/Python の進化した特徴が見過ごされてしまうことです。2011年までに、アナログ放送からディジタル放送への対応に迫られるのと同様に、アナログ思考(Java/C#)からディジタル思考(Ruby/Python)へと、プログラマーの世代交代も加速しつつあります。 さあ、みなさんも取り残されないよう、ただ前進あるのみです。(^_^)
Let's Go Forward ...
【目次】関連記事
〔Python/Jython 入門〕Python.use(better, anti="GoF") # Let's GoForward
《査読中》
------------ 本文 ------------