Maison  >  Article  >  Java  >  Modèle de méthode d'usine de modèles de conception Java révélé

Modèle de méthode d'usine de modèles de conception Java révélé

WBOY
WBOYoriginal
2024-05-09 14:42:01890parcourir

Le modèle de méthode d'usine est un modèle de conception créationnel qui définit le processus de création d'objets via une interface et délègue le processus de création spécifique à une classe d'usine spécifique qui implémente l'interface, dissociant ainsi le processus de création et les classes spécifiques, facilitant ainsi son expansion. et améliorer la testabilité sexuelle. Les principales structures comprennent une usine abstraite, une usine concrète et un produit.

Modèle de méthode dusine de modèles de conception Java révélé

Révéler le modèle de méthode Factory des modèles de conception Java

Introduction

Le modèle de méthode Factory est un modèle de conception créationnel qui permet aux programmeurs de définir une interface pour créer des objets, mais contrôle le processus de création abstrait. . Cela signifie que le processus de création d'objets concrets peut être géré par une sous-classe d'usine concrète qui implémente cette interface.

Avantages du modèle de méthode d'usine

  • Découplage du processus de création des classes concrètes.
  • Facile à étendre, de nouveaux types de produits peuvent être pris en charge en ajoutant de nouvelles sous-classes d'usine.
  • Amélioration de la testabilité du code car le processus de création peut être isolé pour les tests.

Structure

Le modèle de méthode factory se compose principalement de trois parties :

  • Abstract Factory : définit l'interface requise pour créer des objets.
  • Concrete factory : Implémente l'interface de création de produits, utilisée pour créer des instances de types spécifiques de produits.
  • Produit : Objet créé par la méthode d'usine.

Exemple de code

Ce qui suit est un exemple de code Java de modèle de méthode d'usine :

// 抽象工厂接口
interface ShapeFactory {
    Shape createShape(ShapeType type);
}

// 具体工厂类
class CircleFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Circle();
    }
}

// 具体工厂类
class SquareFactory implements ShapeFactory {
    @Override
    public Shape createShape(ShapeType type) {
        return new Square();
    }
}

// 产品类
class Shape {
    private String type;
    public Shape(String type) {
        this.type = type;
    }
    public String getType() {
        return type;
    }
}

// 圆形产品类
class Circle extends Shape {
    public Circle() {
        super("Circle");
    }
}

// 正方形产品类
class Square extends Shape {
    public Square() {
        super("Square");
    }
}

// 客户端代码
public class Main {
    public static void main(String[] args) {
        ShapeFactory circleFactory = new CircleFactory();
        Shape circle = circleFactory.createShape(ShapeType.CIRCLE);
        System.out.println(circle.getType()); // 输出: Circle

        ShapeFactory squareFactory = new SquareFactory();
        Shape square = squareFactory.createShape(ShapeType.SQUARE);
        System.out.println(square.getType()); // 输出: Square
    }
}

Conclusion

Le modèle de méthode d'usine est un modèle de conception flexible et extensible qui fournit une création découplée de procédures et de méthodes de classes concrètes. . Cela rend le code plus facile à maintenir et à étendre, et améliore la testabilité.

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:
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