什么是glue code?
科普向:什么是胶水代码?为什么胶水代码不需要修改实质性逻辑?
Glue code(胶水代码)是指用于把不同的软件组件、库、系统或模块“粘合”在一起,使它们能够协同工作的代码。它通常本身不是实现业务逻辑的核心部分,而是负责不同部分之间的对接、适配和调用。
主要特点
- 桥梁作用:连接两个或多个原本不兼容或相互独立的系统、库或模块。
- 适配/转换:可能包括参数格式转换、接口适配、协议兼容等。
- 非核心逻辑:不直接实现业务目标,而是保证各部分能正常协同。
- 常见于集成开发:如将第三方库集成到自己的项目、跨语言模块通信等场景。
示例
API包装器
比如,用 Python 写一段代码,把 C 语言的库通过 ctypes/cffi 调用起来,这部分代码就是 glue code。数据转换
在前端和后端之间传递数据时,把后端的 JSON 数据转成前端可用的对象,这个转换代码也可以视作 glue code。中间件
在微服务架构中,不同服务通过中间件(如消息队列、API 网关)交互,中间件的适配代码也可称为 glue code。
作用
- 降低不同技术栈、语言、平台之间的集成难度。
- 提高现有组件复用,减少重复造轮子。
- 能让各部分独立开发、演进。
缺点
- 可能增加系统复杂度,难以维护。
- 过多的 glue code 可能掩盖架构问题。
总结:
Glue code 就像软件世界的“接口适配器”或“管道工”,能让各自工作的部分顺利衔接起来。