Linux Magazin germany

Objekt der Begierde

Objektorientierung anhand von Ruby und Go

Die meisten Skripts oder Programme starten als Hacks mit ein paar Variablen ins Leben. Erweist sich eine Applikation als nützlich, steigen die Ansprüche. Ein Feature hier, noch eins da, und die Codebasis wächst. Dem Beobachter fällt dann auf, dass sich Codeabschnitte wiederholen und sich besser als Funktionen zusammenfassen lassen. Auch die Zahl der Variablen steigt, und wenn Funktionsaufrufe fünf oder zehn Parameter enthalten, wächst das Verlangen, die Variablen in kleinen Gruppen als Strukturen zusammenzufassen, und sie platzsparend als Kombipakete herumzuschicken.

Der Wunsch, Funktionen fest an Datenstrukturen zu binden, ergibt sich auch ohne explizite Objektorientierung auf ganz natürliche Weise. Der in blankem C ohne OO-Unterstützung geschriebene Code des Webservers Apache zeigt etwa, dass dort viele Funktionen als erstes Element eine Datenstruktur erhalten, typischerweise als erweiterter Kontext. Sie besteht aus angesammelten Daten, auf die die Funktion nicht nur lesend zugreifen kann, sondern auch schreibend.

In Abbildung 1 bekommt die Funktion ap_get_useragent_host() als ersten Parameter eine Request-Struktur. In der hat der Server die bis dato analysierten Daten aus dem eingehenden Request abgelegt, und die Utility-Funktion fieselt daraus den User-Agent des Clients heraus. Ähnliches gilt vielleicht auch für eine Funktion, die einen Teil einer Webantwort zusammenbaut.

Daten zum Mitreisen gesucht

Eine objektorientierte Sprache würde die mitreisende Datenstruktur als Objekt bezeichnen,

Sie lesen eine Vorschau. Registrieren Sie sich, um mehr zu lesen.

Mehr von Linux Magazin germany

Linux Magazin germany2 min gelesen
Kurznachrichten
DietPi 8.1: Die Distribution DietPi verwandelt SBCs wie den Raspberry Pi in einen flexiblen Server. Neu: Die neue Version verbessert die hauseigenen Anwendungen. Darüber hinaus gibt es jetzt ein Image für Odroid N2(+), das den Linux-Kernel 5.10 verwe
Linux Magazin germany10 min gelesen
Auf Spurensuche
Wie Entwickler und Admins Problemen mit Jaeger auf die Schliche kommen Mancher Administrator, der sich zum ersten Mal in seiner Karriere einem Container-basierten Setup mit darauf laufenden, verteilten Applikationen gegenüber sieht, mag denken, dass
Linux Magazin germany7 min gelesen
News
Bislang braucht man einen zweiten Computer, um mit einem Tool wie Raspberry Pi Imager das Betriebssystem für einen RasPi auf eine SD-Karte zu flashen. Eine nun veröffentlichte Beta-Version des Pi-Bootloaders soll dieses Problem per Netzwerkinstallati