Возможно, имелись в виду преимущества использования делегатов, а не интерфейсов. Некоторые из них:
- Повторное использование кода. 1 Делегаты позволяют применять существующий код без необходимости его дублирования или модификации. 1
- Гибкость. 1 Объект может делегировать выполнение разных задач разным объектам, что делает систему более гибкой и легко расширяемой. 1
- Избегание жёсткой связи. 1 Делегаты помогают избегать жёсткой связи между классами, что облегчает тестирование и модификацию кода. 1
- Снижение зависимости от наследования. 1 Делегаты позволяют избегать излишнего использования наследования, которое может привести к чрезмерной связанности классов и сложной иерархии. 1
- Универсальность. 2 Делегаты позволяют абстрагироваться при описании методов в классах от конкретной реализации, благодаря чему методы класса становятся универсальными и могут использоваться для разных типов приложений. 2