C#-Übungen

Benachrichtigungen über eine Schnittstelle senden in C#

In dieser Lektion sendest du Benachrichtigungen über eine Schnittstelle, sodass du Versandkanäle leicht austauschen oder ergänzen kannst, ohne bestehenden Code zu ändern.

Einführung

Eine Schnittstelle trennt den Code, der Benachrichtigungen verschickt, vom konkreten Kanal wie SMS, E-Mail oder einer Chat-App. Der verwendende Code muss nur wissen, dass das Objekt die Methode Send hat, wie verschickt wird, entscheidet jede Klasse selbst.

Die Methode Notify erhält einen Parameter vom Typ IChannel und funktioniert deshalb mit jeder Klasse, die diese Schnittstelle implementiert. Übergibt man ein Sms-Objekt, wird die Benachrichtigung per SMS verschickt, und SMS: Shipped wird ausgegeben. Willst du später E-Mail ergänzen, legst du einfach eine neue Klasse an, ohne Notify zu ändern.

Ausführbares C#-Beispiel

C#
Code ausführen →
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");
}
Ergebnis der Ausführung
SMS: Shipped

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges