Maison  >  Article  >  Java  >  Comment implémenter le mode pont du modèle de conception Java

Comment implémenter le mode pont du modèle de conception Java

WBOY
WBOYavant
2023-05-16 12:52:061160parcourir

Qu'est-ce que le modèle Bridge ?

Le modèle Bridge est défini comme suit : séparer l'abstraction de la mise en œuvre afin qu'elles puissent changer indépendamment. Il est mis en œuvre en utilisant des relations de combinaison au lieu de relations d'héritage, réduisant ainsi le degré de couplage des deux dimensions variables d'abstraction et de mise en œuvre.

Avantages

1. Séparation de l'abstraction et de la mise en œuvre, forte évolutivité

2 Respecter le principe d'ouverture et de fermeture

3 Respecter le principe de synthèse et de réutilisation

4.

Inconvénients

En raison de la relation d'agrégation construite sur la couche d'abstraction, les développeurs doivent concevoir et programmer l'abstraction, et identifier correctement deux dimensions changeant indépendamment dans le système, ce qui augmente la difficulté de compréhension et de conception du système.

Point de connaissance

Vous pouvez séparer la partie abstraite de la partie implémentation, annuler la relation d'héritage entre les deux et utiliser à la place une relation de combinaison.

Mise en œuvre du mode Pont

Cas : Blue Rabbit Palace Master achète une jupe

Les jupes sont divisées en deux dimensions, à savoir la couleur et le style.

Les couleurs sont le jaune et le rouge ;

Les styles sont divisés en jupes longues et jupes courtes ;

Rôle d'abstraction : Couleurs

Rôle d'abstraction raffinée : Jaune et rouge

Rôle de mise en œuvre : Style

Rôle de mise en œuvre du béton : Jupe longue. et jupe courte

Color

Interface couleur, déclarer une méthode abstraite show()

public interface Color {
    void show();
}

jaune
classe jaune et implémenter l'interface couleur

public class ColorYellow implements Color {
    @Override
    public void show() {
        System.out.println("黄色的");
    }
}

red
Classe rouge et implémenter l'interface couleur

public class ColorRed implements Color {
    @Override
    public void show() {
        System.out.println("红色的");
    }
}

Skirt

Classe Jupe, déclarez un attribut de couleur et une méthode abstraite

abstract class Qun {
    protected Color color;
    protected Qun() {
    }
    protected Qun(Color color) {
        this.color = color;
    }
    public abstract void shows();
}

Jupe longue
Héritez la classe jupe et implémentez la méthode abstraite

public class QunChang extends Qun {
    protected QunChang() {
    }
    protected QunChang(Color color) {
        super(color);
    }
    @Override
    public void shows() {
        System.out.println("长裙");
        color.show();
    }
}

Jupe courte
Héritez la classe jupe et implémentez la méthode abstraite

public class QunDuan extends Qun {
    protected QunDuan() {
    }
    protected QunDuan(Color color) {
        super(color);
    }
    @Override
    public void shows() {
        System.out.println("短裙");
        color.show();
    }
}

Test

nouveau et passez un objet rouge à la jupe longue en paramètre.

public class Demo {
    public static void main(String[] args) {
        Color color = new ColorRed();
        Qun qun = new QunChang(color);
        qun.shows();
    }
}

Comment implémenter le mode pont du modèle de conception Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer