Bridge パターンBridge パターン(ブリッジ・パターン)とは、GoF(Gang of Four; 4人のギャングたち)によって定義されたデザインパターンの1つである。 「橋渡し」のクラスを用意することによって、クラスを複数の方向に拡張させることを目的とする。 クラス図Bridge パターンのクラス図を以下に挙げる。 利用例Bridge パターンの適用が望ましいクラス構造は、例えば以下のようなものである。 この例では、まず Dishware(食器)クラスから Plate(皿)と Bowl(ボウル)クラスが派生している。 さらに、Plate からは WoodenPlate(木製の皿)と GlassPlate(ガラス製の皿)が、 Bowl からは WoodenBowl(木製のボウル)と GlassBowl(ガラス製のボウル)が派生している。 このクラス階層は、以下に挙げる問題をはらんでいる。
この問題が起こる理由は、クラス階層の中に複数の継承関係が混在していることである。 上の例において、Dishware と Plate および Bowl の関係は、食器の種類による継承関係とみなすことができ、 一方で Plate と WoodenPlate および GlassPlate の関係は、食器の材質による継承関係とみなすことができる。 このように複数の継承関係が存在することにより、一つの継承関係が他の継承関係に悪影響を及ぼすことになる。 このクラス構造は、Bridge パターンを適用することによって以下のように改善することができる。 このクラス図では Dishware から派生する継承関係は食器の種類のみであり、材質に関する情報は Material(素材)クラスに委譲している。 この構造により、種類と材質はそれぞれ独立して拡張することができ、クラスの数も減らすことが出来る。 関連項目 |
Portal di Ensiklopedia Dunia