/* * - INTENÇÃO: definir um objeto que encapsula a forma como um conjunto de objetos interage. * O MEDIATOR promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente * e permite variar suas interações independentemente. * - Definir uma comunicação simplificada entre as classes. */ static void Main(string[] args) { // Cria-se o objeto mediator ChatMadiator salaChat = new ChatMadiator(); // Cria-se os participantes var douglas = new ParticipanteImpl("Douglas", salaChat); var maria = new ParticipanteImpl("Maria", salaChat); var carlos = new ParticipanteImpl("Carlos", salaChat); var joao = new ParticipanteImpl("João", salaChat); // Registra todos os participantes na sala do chat salaChat.registraParticipante(douglas); salaChat.registraParticipante(maria); salaChat.registraParticipante(carlos); salaChat.registraParticipante(joao); // Inicia a conversa entre os participantes douglas.enviarMensagem("Maria", "Olá Maria, bom dia! Tudo bem?"); maria.enviarMensagem("Douglas", "Oi, bom dia, tudo bem sim"); carlos.enviarMensagem("João", "João é um @!xxx"); douglas.enviarMensagem("Maria", "fortalece lá, aprova um Pull Request pra mim por favor"); }
static void Main(string[] args) { //Cria-se o objeto mediador ChatMediator salaChat = new ChatMediator(); //Criam-se os objetos participantes Participante joao = new ParticipanteImpl("João", salaChat); Participante maria = new ParticipanteImpl("Maria", salaChat); Participante carlos = new ParticipanteImpl("Carlos", salaChat); Participante renato = new ParticipanteImpl("Renato", salaChat); //Registra todos os participantes na sala de chat salaChat.RegistraParticipante(joao); salaChat.RegistraParticipante(maria); salaChat.RegistraParticipante(carlos); salaChat.RegistraParticipante(renato); //Inicia a conversa entre os participantes joao.EnviaMensagem("Maria", "Olá Maria, tudo bem ?"); maria.EnviaMensagem("João", "Oi tudo! E com voc� ?"); carlos.EnviaMensagem("Renato", "Renato, vocé é um @!xxx."); joao.EnviaMensagem("Maria", "Você está no trabalho agora ?"); Console.ReadKey(); }