デコレータ:
- 実行時にオブジェクトに動作を追加します。継承は、この機能を実現するための鍵であり、これはこのパターンの長所と短所の両方です。
- インターフェイスの動作を強化します。
- Decorator は、コンポーネントが 1 つだけの縮退した Composite と見なすことができます。ただし、Decorator は追加の責任を追加します。これは、オブジェクトの集約を目的としたものではありません。
- デコレーターは再帰的構成をサポートします
- Decorator クラスは、LCD (Lowest Class Denominator) インターフェイスとの合成関係を宣言し、このデータ メンバーはそのコンストラクターで初期化されます。
- Decorator は、サブクラス化せずにオブジェクトに責任を追加できるように設計されています
詳細については、ソース作成の記事を参照してください。
ウィキペディアのDecoratorのUML図:

ブリッジパターン:
- ブリッジは構造パターン
- 抽象化と実装はコンパイル時にバインドされません
- 抽象化と実装 - どちらもクライアントに影響を与えずに変更できます
次の場合に Bridge パターンを使用します。
- 実装の実行時バインディングが必要な場合、
- 結合されたインターフェースと多数の実装に起因するクラスの急増があり、
- 複数のオブジェクト間で実装を共有したい場合は、直交クラス階層をマップする必要があります。
ウィキペディアからの Bridge の UML ダイアグラム:

UML ダイアグラムから、違いを確認できます。
Decorator パターンでは、Decorator は Component を実装しています。これは、実行時に ConcreteComponent に置き換えられます。
Bridge パターンでは、RedefinedAbstraction は Implementor を実装していません。代わりに、コンポジションを使用して、Implementor がクライアントの知識なしで実行時に動的に変更できるようにします。
Bridge パターンとは異なり、Decorator は抽象化を実装から切り離すことができません。
その他の役立つ投稿:
Decorator パターンを使用する場合
ブリッジ パターンはいつ使用しますか? Adapter パターンとどう違うのですか?