免責事項: この一連のブログの参考資料は、Cheng Jie 著の「Dahua Design Pattern」です。
ブリッジ モード: ソフトウェア システムでは、独自のロジックにより 2 次元以上の変更が発生するタイプもあります。では、この「多次元の変更」にどのように対処すればよいでしょうか。これには、ブリッジ パターンを使用して抽象部分をその実装から分離し、独立して変更できるようにする必要があります。
UML クラス図:
AbstractRoad) ロール: 指定された定義を抽象化し、実装されたオブジェクトへの参照を保存します。
抽象化 (SpeedWay) ロールを変更する: 抽象化ロールを拡張し、親クラスによる抽象化の定義を変更および修正します。 A ABSTRACTCAR: このロールは、ロールを実装するためのインターフェイスを提供しますが、特定の実装は提供しません。このインターフェイスは、抽象ロールのインターフェイス定義と必ずしも同じではないことに注意してください。実際、2 つのインターフェイスは大きく異なる場合があります。化现 特定の実装 (BUS) ロール: この文字は、実現ロール インターフェイスの特定の実装を提供します。該当するシナリオ:
1.システムがコンポーネントの抽象的な役割と具体的な役割の間で柔軟性を高める必要がある場合は、2 つのレベル間に静的なリンクを確立しないようにしてください。
2.この設計では、実装されたロールへの変更がクライアントに影響を及ぼさないこと、または実装されたロールへの変更がクライアントに対して完全に透過的であることが必要です。
3.コンポーネントには複数の抽象役割と実装役割があり、システムはそれらの間の動的な結合を必要とします。
4.システム内で継承を使用しても問題ありませんが、抽象的な役割と具体的な役割は独立して変更する必要があるため、両者を独立して管理する必要がある設計になります。
PHP オブジェクト指向デザインパターン