日本でパターンが広まらない理由の一つは「ワンパターン」などのネガティブな和製英語のせい?
ソフトウェアアーキテクトの作業の一つに、システム全体の設計思想や開発方針を記述するアーキテクチャ説明書を作成をする仕事があります。そして、そのような設計書を記述する際に私はアーキテクチャパターンやデザインパターンの用語を利用します。例えば、
- システム全体をレイヤーアーキテクチャパターンに従い「プレゼンテーション層」「アプリケーション層」「ドメイン層」「インフラ層」に分割する。
- MVCアーキテクチャパターンにより表示ロジックとビジネスロジックを切り離し独立して画面を変更できるようにする。
- オブザーバーパターンを使ってイベントを監視する機能を容易に追加できるようにする。
といった具合にです。実際に、パターンの用語を適切に使うことで、どうしてそういう設計をするのかという設計判断を簡潔に記述できますし、関連するパターンに言及することでトレードオフや代替手段についても言及でき、情報量の厚みを増すことができます。また、こうしたアーキテクチャ上の設計判断が実際にパッケージ構造やクラス構造に反映され、開発チームの間でもこれらのパターンの用語がユビキタス言語として通用するようになれば、チームでのコミュニケーション力も向上します。
しかしながら、パターンの考え方が浸透していない組織に対しては、露骨にパターンという話をするとあまり良い印象をもたれないことが多いという問題もあります。最初は
- 教科書通りで工夫が足りない
- ワンパターン
といった反応が返ってくることも多くあります。パターンという言葉はあまり印象がよくないので、あえて使わないようにすべきと言われたことすらあります。
実際、最近もちょうどこのような議論があったのでちょっと調べてみたのですが、日本語のパターンには「ワンパターン」「パターン通り」といったネガティブな意味が非常に深く浸透しているにも関わらず、オリジナルのpatternという英語では(近い意味はあるにせよ)そのような使い方はしないようです。つまり、one patternという言い方は和製英語であり、英語を話す外国人には通じない可能性があるということです。
ワンパターン - Wikipedia
一方、英語のpattenという単語には「幾何学的な形や模様の繰り返し」といった意味が強くあるようです。
http://eow.alc.co.jp/pattern/UTF-8/
実際、洋書のパターンの本にはそういったきれいな模様が表紙に書かれていることが多いように思います。また、「パターン認識」という使われ方をするように、無秩序に見えるものから一定の規則を発見するという意味合いもあるようです。
日本においてはなかなかパターンの考え方が浸透しないのは、実はこうした言葉の印象の違いの問題も大きいのではないかと思いました。また、これもパターンに対するよくある誤解ですが、デザインパターンに書かれているいるクラス図の構造を「パターン通り」そのまま当てはめて失敗するということがよくあります。これも本来のパターンの思想とは違った間違った適用の仕方ですが、パターンという和製英語の印象からそのように勘違いして適用しているケースが多いのではないでしょうか。
ただし、実は海外においてもこのようなパターンの誤用による失敗事例は結構あるようですね。以下の本では、最初にそうしたパターンの間違った理解や適用方法について言及した後、400ページにもわたってパターンとは何かということが説明されています。(ちょっとマニアックな本ですが。)
- 作者: Frank Buschmann,Kevin Henney,Douglas C. Schmidt
- 出版社/メーカー: Wiley
- 発売日: 2007/04/13
- メディア: ハードカバー
- 購入: 1人 クリック: 28回
- この商品を含むブログ (4件) を見る
- パターンはそれを適用するコンテキストやきっかけとなる理由(フォース)が大切
- パターンの具体的な実装には様々なバリエーションが考えられる
- パターンは複数のパターンを組み合わることでより効果的になる
- パターンは機械的に設計を作り出すのではなく、考える人を対象にしたものである
といったようなことが書かれています。
確かにその考え方を理解して使いこなすことは容易ではありませんが、システムの設計において、パターンというものの価値を考え直してみるのもよいのではないかと思います。