Maison >développement back-end >C++ >La merveilleuse utilisation des modèles de conception pour éviter la duplication de code

La merveilleuse utilisation des modèles de conception pour éviter la duplication de code

WBOY
WBOYoriginal
2024-05-09 12:39:01636parcourir

Les modèles de conception réduisent la duplication de code en fournissant des solutions réutilisables, rendant ainsi le code plus maintenable et plus lisible. Ces modèles incluent : Modèle d'usine : utilisé pour créer des objets sans spécifier leur classe concrète. Modèle de stratégie : permet à un algorithme ou à un comportement de changer indépendamment de la façon dont il est utilisé. Modèle Singleton : garantit qu’il n’existe qu’une seule instance d’une classe spécifique. Modèle d'observateur : permet aux objets de s'abonner aux événements et d'en être avertis lorsqu'ils se produisent. Mode Décoration : étendez dynamiquement les fonctionnalités d’un objet.

La merveilleuse utilisation des modèles de conception pour éviter la duplication de code

La magie des modèles de conception pour éviter la duplication de code

Les modèles de conception sont des solutions réutilisables aux problèmes courants de conception de logiciels. Ils peuvent aider à maintenir le code maintenable et lisible en réduisant la duplication de code.

Modèles de conception courants pour éviter la duplication de code

  • Modèle d'usine : Utilisé pour créer des objets sans spécifier leurs classes concrètes. Cela permet de coupler votre code, vous permettant de modifier facilement la logique de création d'objets.
  • Modèle de stratégie : Permet à un algorithme ou à un comportement de changer indépendamment de la façon dont il est utilisé. Il vous permet de créer des applications flexibles en combinant différents objets de stratégie.
  • Modèle Singleton : Garantit qu'il n'y a qu'une seule instance d'une classe spécifique. Cela permet d'éviter la surcharge liée à la création de plusieurs objets identiques.
  • Modèle d'observateur : Permet aux objets de s'abonner à des événements, puis de les avertir lorsqu'un événement se produit. Il est utilisé pour créer un couplage lâche entre des objets.
  • Mode Décoration : Étendez dynamiquement les fonctionnalités d'un objet. Il permet d'ajouter de nouvelles fonctionnalités sans modifier la classe d'origine.

Exemple pratique : modèle d'usine

Envisagez de créer une application permettant de créer diverses formes. Sans le mode conception, vous devrez écrire un code distinct pour chaque forme.

public class Square {
    public void draw() {
        // ...
    }
}

public class Circle {
    public void draw() {
        // ...
    }
}

public class Rectangle {
    public void draw() {
        // ...
    }
}

En utilisant le modèle d'usine, vous pouvez séparer la logique de création des objets créés :

public interface Shape {
    void draw();
}

public class ShapeFactory {
    public static Shape createShape(String type) {
        switch (type) {
            case "square":
                return new Square();
            case "circle":
                return new Circle();
            case "rectangle":
                return new Rectangle();
        }
        return null;
    }
}

Vous pouvez désormais facilement créer différents types d'objets de forme avec un simple appel ShapeFactory.createShape("square").

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