нужны интерфейсы кроме того. Понял, например, для чего IComparable нужен интерфейс, ну а вообще насколько часто это применяется и есть ли какая нибудь важная информация кроме того, что это своего рода соглашение?
Это абстракция на основе которой выполняется конкретная реализация
Ну вот типа у тебя есть интерфейс IPasswordSaver и для тестового окружения ты реализуешь Fake passworD saver а для продакшена Super dupeRstroNgpasswOrdsaver - они оба реалтзуют интерфейс и соответственно имеют одинаковый набор методов и свойств, что гарантирует возможность обращения к конкретной реализации через интерфейсную переменную - отсюда потребуется минимальные усилия чтобы переключиться с тестового окружения на боевое
Интерфейсы фреймворка нужны для интеграции с ним. Реализуя интерфейс IComparable в своем объекте, ты сможешь задать логику сравнения одного объекта твоего типа с другим объектом твоего типа, и использоваться это будет в различных сортировках встроенных в фреймворк
Обсуждают сегодня