Sobes.tech
Junior — Middle

Arayüz kullanımının belirgin bir fayda sağladığı bir duruma örnek verebilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

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

Пример ситуации:

Допустим, у вас есть разные классы для отправки уведомлений — по email, SMS и push-уведомления. Все они должны иметь метод Send().

public interface INotifier
{
    void Send(string message);
}

public class EmailNotifier : INotifier
{
    public void Send(string message) {
        // отправка email
    }
}

public class SmsNotifier : INotifier
{
    public void Send(string message) {
        // отправка SMS
    }
}

// Использование
void NotifyUser(INotifier notifier, string message) {
    notifier.Send(message);
}

Такой подход позволяет легко добавлять новые способы уведомлений без изменения кода, который их использует, и упрощает тестирование через подмену реализаций.