Patrons de conception Python

Mediator Pattern in Python

Découvrez Mediator Pattern in Python avec un exemple pratique modifiable et exécutable en ligne.

Qu’est-ce que Mediator Pattern ?

Découvrez Mediator Pattern in Python avec un exemple pratique modifiable et exécutable en ligne.

Quand l’utiliser ?

  • Résoudre des problèmes récurrents de conception objet avec des structures éprouvées.
  • Découpler les responsabilités afin de faciliter l’extension et les tests du code.
  • Employer un vocabulaire de conception commun lors des discussions d’architecture en équipe.

Code d’exemple

Exécuter le code →
main.py
class ChatRoom:
    # Mediator: route colleague communication through a coordinator.
    def send(self, sender, recipient, message):
        # Coordinate communication between colleague objects.
        recipient.receive(sender.name, message)


class User:
    def __init__(self, name, room): self.name, self.room = name, room
    def send(self, recipient, message): self.room.send(self, recipient, message)
    def receive(self, sender, message): print(f"{self.name} from {sender}: {message}")


room = ChatRoom()
ada, lin = User("Ada", room), User("Lin", room)
ada.send(lin, "Hello")

Résultat attendu

Lin from Ada: Hello

Fonctionnement

Cet exemple illustre Mediator Pattern in Python. Modifiez les entrées pour comprendre le fonctionnement du code.

Modifiez les valeurs et exécutez le programme avec le compilateur Python en ligne CodeUtility, sans installation locale.

Exercices pratiques

Modifiez les entrées et testez les cas limites avant d’utiliser des données plus volumineuses.

  1. Remplacez le domaine de l’exemple tout en conservant la structure du pattern.
  2. Comparez le pattern à une implémentation plus simple et expliquez les compromis.
  3. Écrivez des tests pour chaque participant avant d’ajouter une autre implémentation.
Exécuter dans l’IDE Python →