Enviar notificações por uma interface em C#
Nesta lição, você vai enviar notificações por meio de uma interface, o que facilita trocar ou adicionar canais de envio sem mexer no código existente.
Introdução
Uma interface separa o código que envia notificações do canal específico, como SMS, e-mail ou um aplicativo de chat. O código que usa só precisa saber que o objeto tem o método Send, e cada classe decide como fazer o envio.
O método Notify recebe um parâmetro do tipo IChannel, então funciona com qualquer classe que implemente essa interface. Ao receber o objeto Sms, a notificação é enviada por SMS e o programa imprime SMS: Shipped. Para adicionar um canal de e-mail depois, basta criar uma nova classe, sem alterar Notify.
Exemplo de C# executável
using System;
interface IChannel { void Send(string message); }
class Sms : IChannel { public void Send(string message) => Console.WriteLine($"SMS: {message}"); }
class Program
{
static void Notify(IChannel channel, string message) => channel.Send(message);
static void Main() => Notify(new Sms(), "Shipped");
}
SMS: ShippedPratique com o depurador
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
Todos os desafios