Связующий код


Связующий код (англ. glue code — склеивающий код) — программный код, который служит исключительно для «склеивания» разных частей кода, и при этом не реализует сам по себе никакую иную прикладную функцию. Связующий код может также рассматриваться как шаблон проектирования.

Такой код часто используется для взаимодействия с готовыми библиотеками или программами, как в интерфейсах внешних функций (FFI) наподобие JNI или SWIG, так и для объектно-реляционного отображения объектов языка программирования с записями в базы данных, для интеграции двух или более программных продуктов[1].

Веб-фреймворки облегчают объединение компонентов различных типов, а также привязку этого фронтенда к какому-либо бэкенду.[1]

Самой наглядной абстракцией для «склейки» компонентов является конвейерная передача данных, часто используемая в Unix (|). Она — мощный и стандартный инструмент для объединения узкоспециализированных утилит.[1]

Количество кода для связывания систем увеличивается квадратично от количества связываемых элементов. Проблема связывания различных систем стоит в центре проблем разработки программного обеспечения. Системы становятся все более сложными и требуют интеграции. Поддержание совместимости с устаревшими системами делает связующий код своеобразным техническим долгом, увеличивающим нагрузку на сопровождение программного обеспечения. Осознанный подход к написанию кода, аккуратное использование и своевременное удаление, тщательное проектирование интерфейсов и соблюдение стандартов позволяет проблеме оставаться разрастания программного кода управляемой. В конечном счёте, связуюший код — суть программирования, так как оно сводится к «склеиванию» вещей, будь то микросервисы или программные библиотеки. Это не «потери», а важная часть разработки программного обеспечения.[1]