Exercícios de C#

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

C#
Rodar código →
Program.cs
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");
}
Resultado da execução
SMS: Shipped

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.

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