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
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: ShippedMit dem Debugger üben
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