パターンの分類
デザインパターンには、 複雑さ、 詳細度、 設計するシステム全体への適用可能性の規模により、 様々なものがあります。 これを道路の建設に喩えると: 交差点を安全にするために、 信号機を設置することもできるし、 歩行者用の地下通路付き多層インターチェンジを設置することもできます。
最も基本的で低レベルなパターンはよくイディオム (idiom、 慣用句) と呼ばれます。 通常は単一のプログラミング言語にのみ適用可能です。
最も普遍的で高レベルのパターンはアーキテクチャー・パターンです。 これらのパターンは、 事実上あらゆる言語で実装可能です。 他のパターンと違い、 アプリケーション全体のアーキテクチャーの設計に使用できます。
さらに、 すべてのパターンはその意図、 つまり目的によって分類することができます。 この本では、 三つの主要なパターンのグループを紹介しています:
-
生成に関するパターンは、 柔軟性を増し、 コードの再利用を促すようなオブジェクト生成の仕組みを提供します。
-
構造に関するパターンは、 構造の柔軟性と効率を維持しつつ、 オブジェクトとクラスを大きな構造に束ねる方法を説明します。
-
振る舞いに関するパターンは、 アルゴリズムやオブジェクト間の責任の分担に関するものです。