
Adapter-Pattern
Das Adapter-Pattern ist eine bewährte Lösung in der Softwareentwicklung: Ein Zwischenstück übersetzt die Sprache eines Programmteils in die Sprache eines anderen, damit beide zusammenarbeiten können, ohne verändert zu werden. Der Name kommt vom Reiseadapter, der einen deutschen Stecker in eine britische Steckdose passen lässt.
Wer in England einen deutschen Laptop laden will, braucht ein Zwischenstück für die Steckdose. Der Laptop bleibt, wie er ist, die Steckdose bleibt auch, wie sie ist. Nur dazwischen sitzt ein kleines Teil, das die eine Form in die andere übersetzt. Genau dieses Prinzip gibt es auch in Computerprogrammen, und dort heißt es Adapter-Pattern. Ein Programm besteht aus vielen Bausteinen, die sich gegenseitig aufrufen und Daten weitergeben. Passen zwei Bausteine nicht zusammen, schreibt man ein drittes, kleines Stück Programmcode dazwischen, das übersetzt. Das Wort Pattern bedeutet dabei einfach Muster: eine Lösung, die so oft gut funktioniert hat, dass sie einen Namen bekommen hat.
Warum man fremden Code nicht einfach umschreibt
Kaum ein Programm wird komplett neu gebaut. Entwickler benutzen fertige Bausteine von anderen Firmen oder aus kostenlos verfügbaren Sammlungen. Diese Bausteine kann man nicht ändern, weil sie einem nicht gehören oder weil bei der nächsten Aktualisierung alle eigenen Änderungen wieder verschwinden. Trotzdem müssen sie mit dem eigenen Programm reden.
Der Adapter löst dieses Problem, ohne eine Seite anzufassen. Er sitzt außen und lässt beide Teile unverändert. Das hat einen praktischen Nebeneffekt: Will man später den fremden Baustein austauschen, muss man nur den Adapter neu schreiben. Der Rest des Programms merkt vom Wechsel nichts, weil er weiterhin mit dem Adapter spricht und nicht direkt mit dem Fremdteil.
Bei KI-Anwendungen ist das besonders sichtbar. Ein Unternehmen baut einen Chatbot und benutzt dafür zunächst das Sprachmodell eines Anbieters. Ein Jahr später ist ein anderes Modell billiger oder besser. Wer von Anfang an einen Adapter zwischen sein Programm und den Anbieter gesetzt hat, tauscht in wenigen Tagen. Wer die Anbieter-Befehle überall im Programm verstreut hat, braucht Monate.
Das Zwischenstück von innen betrachtet
Am Adapter-Pattern sind drei Beteiligte im Spiel. Erstens der Teil des Programms, der etwas erledigt haben will. Zweitens der fremde Baustein, der es könnte, aber anders bedient wird als erwartet. Drittens der Adapter, der die Erwartung des einen annimmt und in die Bedienung des anderen umformt.
Ein Beispiel mit Wetterdaten macht das greifbar. Das eigene Programm will eine Temperatur in Grad Celsius, und zwar als einzelne Zahl. Der eingekaufte Wetterdienst liefert aber ein ganzes Datenpaket mit Fahrenheit, Luftdruck und Ortsnamen. Der Adapter fragt beim Wetterdienst an, holt das Paket, sucht die Fahrenheit-Zahl heraus, rechnet sie in Celsius um und gibt nur diese eine Zahl weiter. Für das eigene Programm sieht der Adapter aus wie ein einfacher Temperaturgeber.
Wichtig ist, was ein Adapter nicht tut: Er erfindet keine neuen Fähigkeiten. Er übersetzt nur. Diese Grenze wird oft verwechselt. Ein häufiger Irrtum ist auch, den Adapter mit dem Begriff Schnittstelle gleichzusetzen. Eine Schnittstelle ist die Beschreibung, wie man einen Baustein bedient. Der Adapter ist das Bauteil, das zwei solche Beschreibungen aufeinander abbildet.
Vom Ladekabel bis zum Bankensystem
Im Alltag begegnet dir das Prinzip überall, wo Geräte verschiedener Hersteller zusammenspielen. Ein USB-C-auf-Klinke-Stück am Handy ist ein Adapter im wörtlichen Sinn. In Software steckt derselbe Gedanke unsichtbar in fast jeder App, die Karten anzeigt, bezahlt oder Nachrichten verschickt.
In der Finanzwelt ist das Muster besonders verbreitet. Banken betreiben teils Jahrzehnte alte Kernsysteme, die sich nicht ersetzen lassen. Damit eine moderne Handy-App darauf zugreifen kann, liegen Schichten von Adaptern dazwischen. Fachleute sprechen dann von Legacy-Systemen, also von Altsystemen, die man aus Kostengründen weiterbetreibt.
In Tech-News taucht der Begriff meist im Zusammenhang mit Abhängigkeit von einzelnen Anbietern auf. Warnt ein Bericht vor einem Lock-in, also davor, an einen Cloud- oder KI-Anbieter gefesselt zu sein, lautet die empfohlene Gegenmaßnahme fast immer: eine Adapterschicht einbauen. Achtung, Verwechslungsgefahr: In der KI-Forschung heißen auch kleine Zusatzmodule zum sparsamen Nachtrainieren von Modellen Adapter. Das ist ein anderer Begriff mit demselben Namen.