科普向:什么是胶水代码?为什么胶水代码不需要修改实质性逻辑?

Glue code(胶水代码)是指用于把不同的软件组件、库、系统或模块“粘合”在一起,使它们能够协同工作的代码。它通常本身不是实现业务逻辑的核心部分,而是负责不同部分之间的对接、适配和调用。

主要特点

  • 桥梁作用:连接两个或多个原本不兼容或相互独立的系统、库或模块。
  • 适配/转换:可能包括参数格式转换、接口适配、协议兼容等。
  • 非核心逻辑:不直接实现业务目标,而是保证各部分能正常协同。
  • 常见于集成开发:如将第三方库集成到自己的项目、跨语言模块通信等场景。

示例

  1. API包装器
    比如,用 Python 写一段代码,把 C 语言的库通过 ctypes/cffi 调用起来,这部分代码就是 glue code。

  2. 数据转换
    在前端和后端之间传递数据时,把后端的 JSON 数据转成前端可用的对象,这个转换代码也可以视作 glue code。

  3. 中间件
    在微服务架构中,不同服务通过中间件(如消息队列、API 网关)交互,中间件的适配代码也可称为 glue code。

作用

  • 降低不同技术栈、语言、平台之间的集成难度。
  • 提高现有组件复用,减少重复造轮子。
  • 能让各部分独立开发、演进。

缺点

  • 可能增加系统复杂度,难以维护。
  • 过多的 glue code 可能掩盖架构问题。

总结:
Glue code 就像软件世界的“接口适配器”或“管道工”,能让各自工作的部分顺利衔接起来。