Padrões de projeto em Python

Mediator Pattern in Python

Aprenda Mediator Pattern in Python com um exemplo prático que pode editar e executar online.

O que é Mediator Pattern?

Aprenda Mediator Pattern in Python com um exemplo prático que pode editar e executar online.

Quando usar?

  • Resolver problemas recorrentes de design de objetos com estruturas comprovadas.
  • Desacoplar responsabilidades para facilitar a extensão e os testes do código.
  • Usar um vocabulário de design comum ao discutir arquitetura com a equipe.

Código de exemplo

Executar código →
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")

Saída esperada

Lin from Ada: Hello

Como funciona

Este exemplo demonstra Mediator Pattern in Python. Altere os valores de entrada para explorar o código.

Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.

Exercícios práticos

Altere as entradas e teste casos de borda antes de usar conjuntos de dados maiores.

  1. Substitua o domínio do exemplo preservando a estrutura do padrão.
  2. Compare o padrão com uma implementação mais simples e explique as diferenças.
  3. Escreva testes para cada participante antes de adicionar outra implementação.
Executar no IDE Python →