Esercizi C#

Inviare notifiche tramite un'interfaccia in C#

In questa lezione invierai notifiche tramite un'interfaccia, rendendo facile cambiare o aggiungere canali di invio senza modificare il codice esistente.

Introduzione

Un'interfaccia separa il codice che invia le notifiche dal canale specifico, come SMS, email o un'app di chat. Il codice che la usa deve solo sapere che l'oggetto ha il metodo Send, mentre ogni classe decide come effettuare l'invio.

Il metodo Notify riceve un parametro di tipo IChannel, quindi funziona con qualsiasi classe che implementi questa interfaccia. Passando l'oggetto Sms, la notifica viene inviata via SMS e il programma stampa SMS: Shipped. Per aggiungere più avanti un canale email, basta creare una nuova classe senza modificare Notify.

Esempio C# eseguibile

C#
Esegui il codice →
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");
}
Risultato dell'esecuzione
SMS: Shipped

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide