Maison > Java > javaDidacticiel > le corps du texte

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

WBOY
Libérer: 2023-05-16 12:52:06
avant
1203 Les gens l'ont consulté

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();
}
Copier après la connexion

jaune
classe jaune et implémenter l'interface couleur

public class ColorYellow implements Color {
    @Override
    public void show() {
        System.out.println("黄色的");
    }
}
Copier après la connexion

red
Classe rouge et implémenter l'interface couleur

public class ColorRed implements Color {
    @Override
    public void show() {
        System.out.println("红色的");
    }
}
Copier après la connexion

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();
}
Copier après la connexion

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();
    }
}
Copier après la connexion

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();
    }
}
Copier après la connexion

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();
    }
}
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal