Exercices C#

Envoyer des notifications via une interface en C#

Dans cette leçon, vous allez envoyer des notifications à travers une interface, ce qui permet de changer ou d'ajouter facilement un canal d'envoi sans modifier le code existant.

Introduction

Une interface sépare le code qui envoie les notifications du canal précis utilisé, comme le SMS, l'e-mail ou une application de messagerie. Le code utilisateur a seulement besoin de savoir que l'objet possède la méthode Send, et chaque classe décide elle-même comment envoyer.

La méthode Notify reçoit un paramètre de type IChannel, elle fonctionne donc avec n'importe quelle classe qui implémente cette interface. Quand on lui passe un objet Sms, la notification est envoyée par SMS et le programme affiche SMS: Shipped. Pour ajouter plus tard un canal e-mail, il suffit de créer une nouvelle classe, sans toucher à Notify.

Exemple C# exécutable

C#
Exécuter le code →
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");
}
Résultat de l’exécution
SMS: Shipped

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis