Прямая совместимость


Прямая совместимость или восходящая совместимость — это конструктивная характеристика, которая позволяет системе принимать входные данные , предназначенные для более поздней версии самой себя. Эта концепция может быть применена ко всем системам, электрическим интерфейсам , телекоммуникационным сигналам , протоколам передачи данных , форматам файлов и языкам программирования . Стандарт поддерживает прямую совместимость, если продукт , соответствующий более ранним версиям, может « изящно"обрабатывать ввод, предназначенный для более поздних версий стандарта, игнорируя новые части, которые он не понимает.

Цель технологии прямой совместимости заключается в том, чтобы старые устройства распознавали, когда данные были сгенерированы для новых устройств. [1]

Прямая совместимость для старой системы обычно означает обратную совместимость для новой системы, т.е. способность обрабатывать данные из старой системы; новая система обычно полностью совместима со старой, поскольку может обрабатывать и генерировать данные в формате старой системы.

Прямая совместимость — это не то же самое, что расширяемость . Проект с прямой совместимостью может обрабатывать по крайней мере часть данных из своей будущей версии. Расширяемая конструкция упрощает обновление. Пример обеих дизайнерских идей можно найти в веб-браузерах. В любой момент времени текущий браузер является совместимым с предыдущими версиями, если он изящно принимает более новую версию HTML. В то время как легкость обновления кода браузера для обработки нового HTML определяет его расширяемость.

Введение FM-стереопередачи или цветного телевидения обеспечило прямую совместимость, поскольку монофонические FM-радиоприемники и черно-белые телевизоры все еще могли принимать сигнал от нового передатчика. [1] Это также обеспечило обратную совместимость, поскольку новые приемники могли принимать монофонические или черно-белые сигналы, генерируемые старыми передатчиками. [ нужна ссылка ]

HTML предназначен для обработки всех тегов одинаково (как инертных, не стилизованных встроенных элементов ), если только их внешний вид или поведение не переопределены; либо настройками браузера по умолчанию, либо сценариями или стилями, включенными в страницу. [6] Благодаря этому большинство новых функций изящно деградируют в старых браузерах. Одним из случаев, когда это не сработало должным образом, были блоки сценариев и стилей, содержимое которых должно интерпретироваться браузером, а не быть частью страницы. Такие случаи решались путем заключения контента в блоки комментариев. [7]