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, und Funktionen, die lesend oder schreibend darauf

Sie lesen eine Vorschau, starten Sie ein Abonnement, um mehr zu lesen.

Mehr von Linux Magazin germany

Linux Magazin germany1 min gelesen
Vorschau auf 05/2022
Die nächste Ausgabe erscheint am 07.04.2022 Seit rund vier Jahren regelt die Datenschutzgrundverordnung den Umgang mit personenbezogenen Daten in der Europäischen Union. Die Umsetzung des umfassenden Regelwerks wirft in der Praxis allerdings immer wi
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 germany1 min gelesen
Linux Magazin Germany
Geschäftsführer Christian Müller, Rainer Rosenbusch Chefredakteur, Brand/Editorial Director Jörg Luther (V.i.S.d.P.), jluther@linux-magazin.de (jlu) Stv. Chefredakteur Jens-Christoph Brendel, jcb@linux-magazin.de (jcb) Redaktionsltg. Online Ulrich Ba

Ähnlich Bücher & Hörbücher