Bridge パターン
Bridge パターンの適用が望ましいクラス構造は、例えば以下のようなものである。
この例では、まず Dishware(食器)クラスから Plate(皿)と Bowl(ボウル)クラスが派生している。 さらに、Plate からは WoodenPlate(木製の皿)と GlassPlate(ガラス製の皿)が、 Bowl からは WoodenBowl(木製のボウル)と GlassBowl(ガラス製のボウル)が派生している。
このクラス階層は、以下に挙げる問題をはらんでいる。
クラスの追加が困難である。仮にプラスチック製の食器を新たにサポートしようとする場合、Plate クラスと Bowl クラスのそれぞれを継承しなければならない。あるいは Dishware クラスのサブクラスとして例えば Cup クラスを追加する場合、WoodenCup や GlassCup を同時に作成しなければならない。
コードの複製が発生する。例に挙げた WoodenPlate と WoodenBowl, GlassPlate と GlassBowl はそれぞれ同じ材質の食器であるため、内部的に似たような性質を持っているかもしれない。