Back to questions
Junior — Middle
73
Можешь привести пример ситуации, когда использование интерфейса приносит очевидную пользу?
Answer from AI
sobes.tech AI
Интерфейсы полезны, когда нужно определить общий контракт для разных классов, позволяя использовать полиморфизм и облегчая замену реализаций.
Пример ситуации:
Допустим, у вас есть разные классы для отправки уведомлений — по 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);
}
Такой подход позволяет легко добавлять новые способы уведомлений без изменения кода, который их использует, и упрощает тестирование через подмену реализаций.