content: // Interface do Mediador
  interface ChatMediator {
      void enviarMensagem(String mensagem, Usuario usuario);
      void adicionarUsuario(Usuario usuario);
  }
  
  // Implementação concreta do Mediador
  class SalaChat implements ChatMediator {
      private List<Usuario> usuarios = new ArrayList<>();
  
      public void adicionarUsuario(Usuario usuario) {
          usuarios.add(usuario);
      }
  
      public void enviarMensagem(String mensagem, Usuario remetente) {
          for (Usuario usuario : usuarios) {
              if (usuario != remetente) {
                  usuario.receberMensagem(mensagem);
              }
          }
      }
  }
  
  // Classe colega (usuário do chat)
  class Usuario {
      private String nome;
      private ChatMediator sala;
  
      public Usuario(String nome, ChatMediator sala) {
          this.nome = nome;
          this.sala = sala;
          sala.adicionarUsuario(this);
      }
  
      public void enviarMensagem(String mensagem) {
          sala.enviarMensagem(nome + ": " + mensagem, this);
      }
  
      public void receberMensagem(String mensagem) {
          System.out.println(nome + " recebeu: " + mensagem);
      }
  }
  
  // Teste do padrão Mediator
  public class Main {
      public static void main(String[] args) {
          ChatMediator sala = new SalaChat();
  
          Usuario joao = new Usuario("João", sala);
          Usuario maria = new Usuario("Maria", sala);
          Usuario ana = new Usuario("Ana", sala);
  
          joao.enviarMensagem("Olá, pessoal!");
      }
  }
  