Aller au contenu

Introduction aux Design Patterns

Qu'est-ce qu'un Design Pattern ?

Un design pattern (patron de conception) est une solution réutilisable à un problème récurrent dans la conception de logiciels. Ces patterns représentent les meilleures pratiques développées par des experts en programmation orientée objet.

Les Catégories de Design Patterns

  • Patterns de Création (Creational Patterns) : Concernent la création d'objets
  • Patterns de Structure (Structural Patterns): Définissent les relations entre les objets
  • Patterns de Comportement (Behavioral Patterns): Gèrent les interactions entre les objets

Exemple : Le Pattern Singleton

Voici un exemple du pattern Singleton implémenté en Python :

Python
class Singleton:
    _instance = None

    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

    def show_message(self):
        print("Je suis une instance unique!")

# Utilisation
singleton = Singleton()
singleton.show_message()

# Création d'une autre instance (retourne la même)
singleton2 = Singleton()
print(singleton is singleton2)  # Affiche: True

Choisir un patron selon le problème de conception

Un patron est un vocabulaire pour décrire une solution, pas une obligation d'ajouter des classes. Commencez par le problème : création d'objets, organisation de leurs relations ou collaboration entre eux. L'exemple du Singleton illustre le contrôle de l'instanciation ; il ne signifie pas que toutes les applications doivent partager une instance globale.

Consultez le cours détaillé sur les design patterns en Python pour comparer les patrons de création, de structure et de comportement avec leurs exemples.