Здравствуйте, _NN_, Вы писали:
_NN>Представьте, например, что у вас есть большой проект где каждая команда отвечает за свою часть продукта.
_NN>Теперь, вы меняете базовый интерфейс, нужно поменять код во всех частях проекта, а для этого придётся ещё и получить одобрение на изменение от всех команд.
Ну да, а так по тихому поменяли контракт. Правда у нас теперь "Периметр()" круга равен "Периметр()" квадрата (возвращаясь к примеру выше), но это мелочи, ведь билд не ломается.
Плюс, теперь можно валить на собесах вопросом "чем отличается интерфейс от класса"