Bridge パターン
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/02/19 15:52 UTC 版)
Bridge パターン(ブリッジ・パターン)とは、GoF(Gang of Four; 4人のギャングたち)によって定義されたデザインパターンの1つである。 「橋渡し」のクラスを用意することによって、クラスを複数の方向に拡張させることを目的とする。
クラス図
Bridge パターンのクラス図を以下に挙げる。
利用例
Bridge パターンの適用が望ましいクラス構造は、例えば以下のようなものである。
この例では、まず Dishware(食器)クラスから Plate(皿)と Bowl(ボウル)クラスが派生している。 さらに、Plate からは WoodenPlate(木製の皿)と GlassPlate(ガラス製の皿)が、 Bowl からは WoodenBowl(木製のボウル)と GlassBowl(ガラス製のボウル)が派生している。
このクラス階層は、以下に挙げる問題をはらんでいる。
- クラスの追加が困難である。仮にプラスチック製の食器を新たにサポートしようとする場合、Plate クラスと Bowl クラスのそれぞれを継承しなければならない。あるいは Dishware クラスのサブクラスとして例えば Cup クラスを追加する場合、WoodenCup や GlassCup を同時に作成しなければならない。
- コードの複製が発生する。例に挙げた WoodenPlate と WoodenBowl, GlassPlate と GlassBowl はそれぞれ同じ材質の食器であるため、内部的に似たような性質を持っているかもしれない。しかしながら、継承関係の都合上これらのクラスはすべて個別に定義しなければならず、結果として同じようなコードを別途に記述しなければならなくなる。
この問題が起こる理由は、クラス階層の中に複数の継承関係が混在していることである。 上の例において、Dishware と Plate および Bowl の関係は、食器の種類による継承関係とみなすことができ、 一方で Plate と WoodenPlate および GlassPlate の関係は、食器の材質による継承関係とみなすことができる。 このように複数の継承関係が存在することにより、一つの継承関係が他の継承関係に悪影響を及ぼすことになる。
このクラス構造は、Bridge パターンを適用することによって以下のように改善することができる。
このクラス図では Dishware から派生する継承関係は食器の種類のみであり、材質に関する情報は Material(素材)クラスに委譲している。 この構造により、種類と材質はそれぞれ独立して拡張することができ、クラスの数も減らすことが出来る。
関連項目
|
「Bridge パターン」の例文・使い方・用例・文例
- Bridgewater CaféのYuki です。
- そのような行動のパターンが多い
- 君の服装はいつもワンパターンだな。
- 周りの文化の行動パターンを取り入れることの重要さを彼は強調した。
- 母馬は通常毎年同じ分娩パターンを繰り返す。
- ウェザーマーチャンダイジングは、消費者の行動パターンを分析するために、天候に焦点をあてる。
- エリアマーケティングは消費者の行動パターンを探る上で地域を重要視する。
- チャートの二番底のパターン
- 下記のパターンに従って
- 私は彼の行動パターンを学んだ。
- そのノズルは7つのパターンで散水ができるようになっています。
- 同じパターンで用いても違いが生じる。
- 同じパターンを用いても違いが出来ます。
- このように、名詞の変化のパターンがある他に、動詞の語形変化も現代英語よりもいろいろな種類がありました。
- 離れることで全体が見渡せるようになり、今度はそれで、ある程度のパターン認識ができるようになるのである。
- 南諸島のコミュニティの中にはまったくの正反対の血縁関係のパターンが観察されるであろう。
- 世界貿易の変動パターンが次の表で明らかにされている。
- 居酒屋で飲んで、カラオケか。俺達もワンパターンだな。
- この母音変化はそれぞれの単語に指定される全体のアクセントパターンと大いに関係している。
- この氷結と氷解のパターンが、北極熊の主な獲物であるアザラシの分布と数に影響を与えるのだ。
- Bridge_パターンのページへのリンク