У нас есть компонент платформы (написанный на Java), который теперь должен быть обратно совместимым в течение определенного периода, например, 3 года.Возможно ли, что для реализации новой функции или исправления ошибки потребуется изменение интерфейса в платформе?
Один конкретный пример, скажем, в платформе определен некоторый интерфейс слушателя,клиентский код будет реализовывать слушатель.Позже в слушателе, похоже, понадобится новый метод для введения новой функции, но мы не можем этого сделать, потому что он сломает интерфейс, так что какой-то клиент не сможет компилироваться.новый интерфейс, который расширяет оригинальный с новым методом?Клиент, которому нужна эта новая функция, теперь реализует новый интерфейс, и другой код клиента не нужно изменять.Конечно, вызовы в платформе должны теперь проверять тип слушателя, если это новый интерфейс с новым методом, то будет вызван новый метод, или ничего не будет сделано.
Этот видизменение может заставить код выглядеть не так просто, но я думаю, что он все еще будет работать.Есть ли случаи, когда изменение интерфейса в платформе является обязательным?