Упражнения C#

Отправка уведомлений через интерфейс в C#

В этом уроке вы будете отправлять уведомления через интерфейс, чтобы легко менять или добавлять канал отправки, не трогая существующий код.

Введение

Интерфейс отделяет код отправки уведомлений от конкретного канала, например SMS, почты или мессенджера. Использующему коду достаточно знать, что у объекта есть метод Send, а как отправлять, решает каждый класс сам.

Метод Notify получает параметр типа IChannel, поэтому работает с любым классом, реализующим этот интерфейс. Если передать объект Sms, уведомление уйдёт по SMS, и программа выведет SMS: Shipped. Чтобы потом добавить канал почты, достаточно создать новый класс, не трогая Notify.

Пример на C#, который можно запустить

C#
Запустить код →
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");
}
Результат выполнения
SMS: Shipped

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи