Content deleted Content added
No edit summary |
ClueBot NG (talk | contribs) m Reverting possible vandalism by DalyanElyasaVolkanTekineci to version by CyanoTex. Report False Positive? Thanks, ClueBot NG. (2801790) (Bot) |
||
Line 4:
}}
In [[computer programming]], '''glue code''' is [[source code]] that serves solely to "adapt" different parts of code that would otherwise be incompatible. Glue code does not contribute any functionality towards meeting program [[requirement]]s. Instead, it often appears in code that lets existing [[Library (computing)|libraries]] or programs [[Interoperability#Software|interoperate]], as in [[language binding]]s or [[foreign function interface]]s such as the [[Java native interface]], when mapping [[Object (computer science)|objects]] to a [[database]] using [[object-relational mapping]], or when [[Systems integration|integrating]] two or more [[commercial off-the-shelf]] programs. Glue code may be written in the same language as the code it is gluing together, or in a separate [[glue language]]. Glue code is very efficient in [[rapid prototyping]] environments where several components are quickly put together into a single language or framework.
==
Because each component is independent (i.e. it is unaware of its relations and is only connected to another component through glue code), the behavior of a component and its interactions can change during the execution of the script. In addition, a different version of one of the components may behave differently, breaking the glue code.
High-level programming languages can suffer from performance penalties because glue code must run through the language interpreter, even when connecting high-performance subsystems. If performance is crucial, using configuration scripting is often preferred to directly connecting binary interfaces of components. In object-oriented scripting languages, glue code often eliminates the need for class hierarchies and large numbers of classes.
==See also==
*[[Adaptor pattern]]
*[[Scripting language]]
*[[Shell script]]
*[[SWIG]]
*[[Lua (programming language)]]
*[[Glue logic]]
*[[WinGlue]]
*[[Wrapper function]]
*[[Wrapper library]]
==References==
{{reflist}}
|