Javaでシステム開発を行っていると、さまざまな場面でデザインパターンというものを使う機会があります。デザインパターンとは、 GoF(ギャングオブフォー)という有名な4人の人物が集まって作り上げた、いわばJavaプログラミングのベストプラクティスです。
ちなみにまったくの余談で恐縮ですが、私にとって、GoFは『花より男子』のF4(フラワーフォー:花の4人組) よりも断然いけてます。
さて、そのデザインパターンのなかに、Hollywood Principle (ハリウッドの原則)という興味深い名前のものがあります。
ハリウッドと聞いてしまうと、どんなにゴージャスなメソッドの表記方法なのだろうと期待してしまいますが、 実は非常に皮肉めいたエピソードによるネーミングだったりします。
ハリウッドは映画の聖地ですよね。そこで名を上げればどんどん仕事が舞い込んで来るようになり、社会的ステータスも急上昇です。 ですが、ハリウッドではプロデューサーの力は絶対です。俳優がどんどん売れっ子になっていったとしても、 やはりプロデューサーから声をかけてもらえなければ映画に出られない。それこそ、俳優の方からどれほどアプローチしたとしても、 プロデューサーにしてみれば、作品に合わない俳優はいりません。
そこで出てくる言葉がこれです。
「おまえが(俺を)呼ぶな、必要なら俺が(おまえを)呼ぶ」
(Don't call us. We'll call you)
これを地でいくデザインパターンが「ハリウッドの原則」なのです。
具体的には、十分なアーキテクチャフレームワークが定義されているようなシステムでは、 アプリケーション部分のロジックはフレームワークから呼ばれる形で実装していき、基本的にはフレームワークを中心にシステムを作り上げます。 アプリが基盤を呼ぶのではなく、基盤がアプリを呼ぶのです。
比較的堅牢なシステムを構築することができるアプローチですが、アプリケーションの実装に自由度が少ないため、 創造的なプログラマーからは嫌われているデザインパターンですが、このネーミングセンスに感心してしまいました。
デザインパターンはほかにも多くのものがあります。参考までにリストアップしておきますね。
CREATIONAL PATTERNS(生成パターン)
5種類
STRUCTURAL PATTERNS(構造パターン)
7種類
BEHAVIORAL PATTERNS(振る舞いパターン)
11種類
各パターンの詳細名は以下のリンクにすべて掲載しています。
→ http://it-ura.seesaa.net/article/102591023.html
著者紹介
吉澤準特 (ヨシザワジュントク)
外資系コンサルティング会社に勤務。守秘義務を破らない範囲でIT業界の裏話をつぶやきます。ファシリテーション、ビジネスフレームワーク、人材教育など執筆多数。日本能率協会、秀和システムそれぞれから書籍刊行。執筆依頼/インタビューお引き受けします。こっそりITIL Manager (v2)資格保有。
この記事は吉澤準特氏のブログ「IT業界の裏話」の過去記事を抜粋し適宜加筆・修正を行って転載しています。