Javaデザインパターンのブリッジモードを実装する方法

WBOY
リリース: 2023-05-16 12:52:06
転載
1114 人が閲覧しました

ブリッジ パターンとは

ブリッジ (ブリッジ) パターンは次のように定義されます。抽象化と実装を分離し、独立して変更できるようにします。これは、継承関係の代わりに組み合わせ関係を使用して実装されるため、抽象化と実装の 2 つの可変次元の結合度が減少します。

利点

1. 抽象化と実装の分離、強力な拡張性

2. 開始と終了の原則の遵守

3. 原則の遵守

4. 実装の詳細は顧客には透過的です

欠点

集約関係は抽象化層で確立されるため、開発者は設計とプログラミングを行う必要があります。システムを正しく識別するための抽象化 システムには独立して変化する 2 つの次元があり、システムの理解と設計がさらに困難になります。

知識ポイント

抽象化部分と実装部分を分離し、両者の間の継承関係を解除し、代わりに結合関係を使用することができます。

ブリッジ モードの実装

ケース: ブルー ラビット パレス マスターがスカートを購入する

スカートには、色とスタイルという 2 つの次元があります。

色は黄色と赤です;

スタイルはロングスカートとショートスカートに分かれています;

Abstraction (抽象化) 役割: Color

Extended抽象化 (洗練された抽象化) 役割: 黄色と赤

実装者の役割: スタイル

具体的な実装者の役割: ロングスカートとショートスカート

カラー

カラーインターフェイスshow() 抽象メソッド

public interface Color {
    void show();
}
ログイン後にコピー
Yellow

yellow クラスを宣言し、カラー インターフェイスを実装します。

public class ColorYellow implements Color {
    @Override
    public void show() {
        System.out.println("黄色的");
    }
}
ログイン後にコピー
red

red クラスを実装し、カラー インターフェイスを実装します。

public class ColorRed implements Color {
    @Override
    public void show() {
        System.out.println("红色的");
    }
}
ログイン後にコピー

Skirt

Skirt クラス、color 属性と抽象メソッドを宣言

abstract class Qun {
    protected Color color;
    protected Qun() {
    }
    protected Qun(Color color) {
        this.color = color;
    }
    public abstract void shows();
}
ログイン後にコピー
Longスカート

Skirt クラスを継承し、抽象メソッドを実装

public class QunChang extends Qun {
    protected QunChang() {
    }
    protected QunChang(Color color) {
        super(color);
    }
    @Override
    public void shows() {
        System.out.println("长裙");
        color.show();
    }
}
ログイン後にコピー
ショートスカート

スカートクラスを継承して抽象メソッド

public class QunDuan extends Qun {
    protected QunDuan() {
    }
    protected QunDuan(Color color) {
        super(color);
    }
    @Override
    public void shows() {
        System.out.println("短裙");
        color.show();
    }
}
ログイン後にコピー

Test

newを実装し、赤いオブジェクトをロングスカートに渡します。パラメータ 。

rreeee

Javaデザインパターンのブリッジモードを実装する方法

以上がJavaデザインパターンのブリッジモードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!