PR

 ソフトウエア開発時によく見られる問題と、その問題に対する解決策をまとめて、名称を付けたもの。ソフト開発における「定石」と言える。ソフト開発者の作業を効率化するのに役立つほか、「今回はこのパターンを使おう」といった具合に、エンジニア同士のコミュニケーションを円滑にする役割を果たす。主にオブジェクト指向技術に基づく開発で利用されており、オブジェクト指向開発者の間では、半ば常識となりつつある。

 ソフトウエア・パターンには、(1)オブジェクト指向分析で使う「アナリシス・パターン」、(2)オブジェクト指向設計で使う「デザイン・パターン」や「アーキテクチャ・パターン」、(3)やってはいけないという悪い見本とその解決策を集めた「アンチパターン」などがある。オブジェクト指向分析は、UML(統一モデリング言語)を使って「何を作るのか」を決めていく作業、オブジェクト指向設計はUMLで「どのように作るか」を決めていく作業を指す。

 有名なソフトウエア・パターンとして、「Facade(ファサード)」がある。Facadeはデザイン・パターンの一つで、「複数のクラス(オブジェクトのひな型)を組み合わせて使う場合、組み合わせた機能を外部から呼び出せるようにインタフェースとなるクラスを作成しておくとよい」ことを示す。

 パターンの考え方はもともと、米国の建築家であるクリストファー・アレグザンダー氏が提唱した。同氏は自著『パタン・ランゲージ(邦題、以下同)』(1977年)で、よい町や家の造りには決まった形があると主張し、その「典型的なよい形」をパターンと呼んだ。

 このパターンの概念をソフト開発に適用できるのではないかと考えたのが、エリック・ガンマ氏、ラルフ・ジョンソン氏、リチャード・ヘルム氏、ジョン・ブリシディース氏である。ガンマ氏ら4人はGoFゴフ(Gang of Four)と呼ばれる。GoFは、『オブジェクト指向における再利用のためのデザインパターン』(1995年)と呼ぶ書籍で、初めて23種類のデザイン・パターンを示した。

 GoFの活動をきっかけに、ソフトウエア・パターンを実際の開発に適用したり、新たなパターンを考案するといった「パターン・ムーブメント」がオブジェクト指向開発者の間で巻き起こった。その過程で、デザイン・パターンだけでなく、さまざまなパターンが登場するようになった。現在も日本を含む世界各所のパターン・コミュニティが、新たなソフトウエア・パターンの作成を進めている。

 現在、注目を浴びているのは、アナリシス・パターンである。UMLなどを利用して業務の流れをモデリングするビジネス・モデリングが脚光を浴びており、この分野の作業を効率化する定石が求められていることが背景にある。このパターンは、マーチン・ファウラー氏の著書『アナリシスパターン』(1996年)で初めて紹介された。

(矢口)

本記事は日経コンピュータ2004年12月13日号に掲載したものです。
同誌ホームページには,主要記事の概要や最新号およびバックナンバーの目次などを掲載しておりますので,どうぞご利用ください。

日経コンピュータ・ホームページ

定期購読お申し込みや当該号のご購入