Adapter programozási nyelvekhez

A Wikipédiából, a szabad enciklopédiából
A lap aktuális változatát látod, az utolsó szerkesztést Vépi (vitalap | szerkesztései) végezte 2020. június 25., 08:14-kor. Ezen a webcímen mindig ezt a változatot fogod látni. (Forrás hiányzik)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

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]