Adapter programozási nyelvekhez

A programozás és a szoftvertervezés során az adapter egy olyan felületet biztosít (API), amely biztosítja az idegen könyvtár vagy operációs rendszer szolgáltatásának használatát (amely nem az adott nyelven íródott).

Jellemzők szerkesztés

Az adapter általánosan az egyik dolognak a másikra való leképzését jelenti. A szoftverkönyvtárak esetében az adapterek úgynevezett csomagolókönyvtárak, melyek két programozási nyelvet hidalnak át, így az egyik nyelvre írt könyvtár más nyelven is használható. Számos szoftverkönyvtár íródott C vagy C++ nyelven. Az ilyen általában magasabb szintű nyelveken, mint például a Java, Common Lisp, Scheme, Python vagy Lua nyelvből származó könyvtárak használatához létre kell hozni a könyvtáradaptert, ami megkövetelheti a nyelv kódjának újrafordítását. Ugyanakkor a legtöbb nyelv idegen felületet kínál, mint például a Python és az OCaml’s típusait, valamint az Embeddable Common Lisp CFFI és UFFI fájljait.

Például a Python-adaptereket akkor használják, ha egy fennmaradó C-könyvtárat egy bizonyos cél megvalósítása érdekében írnak, és a Python-ból kell használni. Egy másik példa a libsvn, melyet C-ben írtak, hogy API-t biztosítson a Subversion szoftvertárolóhoz. A Subversion elérése egy Java-kódon belül a libsvnjavahl-lel történik, amely a libsvn telepítésétől függ, és egyfajta hídként szolgál a Java és a libsvn között, ezáltal biztosítva egy olyan API-t, amely a libsvn funkcióit meghívja a munka elvégzésére.

A könyvtári adapterek létrehozásának fő céljai közé tartozott a szoftver újrahasznosítása, a könyvtár több nyelvel történő újbóli telepítésének csökkentése, valamint az algoritmusok hatékony végrehajtása magas szintű nyelveken.

Jegyzetek szerkesztés

További információk szerkesztés