Maison  >  Article  >  Java  >  Comment implémenter le modèle d'usine abstrait des modèles de conception Java

Comment implémenter le modèle d'usine abstrait des modèles de conception Java

WBOY
WBOYavant
2023-04-29 14:19:06823parcourir

1. Introduction

Lorsque le système est prêt à fournir aux utilisateurs une série d'objets associés, mais ne souhaite pas que le code utilisateur soit couplé à ces objets, le modèle d'usine abstraite peut être utilisé .

2. Comment réaliser

1) Produit abstrait--Voiture

2) Produit spécifique--BYDCar, TSLCar

# 🎜 🎜#3) Usine abstraite

4) Usine à béton - BYDFactory, TSLFactory

3 Implémentation du code

/**
 * 抽象产品
 */
public abstract class Car {
    public abstract String getName();
}
/**
 * 具体产品
 */
public class BYDCar extends Car {
    String name;
    public BYDCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
/**
 * 抽象工厂
 */
public abstract class CarFactoty {
    public abstract Car createCar(String name);
}
 /**
 * 具体工厂
 */
public class BYDFactory extends CarFactoty {
    @Override
    public BYDCar createCar(String name) {
        return new BYDCar(name);
    }
}

4. 🎜 🎜#

1) Le modèle d'usine abstraite peut créer une série d'objets associés pour les utilisateurs, dissociant les utilisateurs des objets de ces classes

2) L'utilisation du modèle d'usine abstraite peut facilement configurer les paramètres pour utilisateurs Une liste d'objets.

3) Dans le modèle d'usine abstraite, une "usine à béton" peut être ajoutée à tout moment pour fournir aux utilisateurs un ensemble d'objets associés.

Par exemple : Dans l'exemple ci-dessus, si l'utilisateur a besoin d'une voiture Tesla, il peut être complété en créant un objet Tesla et une usine Tesla. #🎜🎜 #

/**
 * 具体产品
 */
public class TSLCar extends Car {
    String name;
    public TSLCar(String name){
        this.name = name;
    }
    @Override
    public String getName() {
        return name;
    }
}
rrree

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