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

You’re reading a preview, subscribe to read more.

More from Linux Magazin germany

Linux Magazin germany8 min read
Fliegender Wechsel
Marktübersicht: Quelloffene Alternativen zu MS Exchange Seit Jahrzehnten dominiert Microsoft Exchange den Markt für E-Mail-Infrastruktur und Groupware. Gerade im Unternehmensumfeld gilt die Software in Verbindung mit dem allgegenwärtigen Outlook-Clie
Linux Magazin germany3 min readCrime & Violence
Tracking Eindämmen
Europäisches Parlament verschärft das Digitale-Dienste-Gesetz Bei der Abstimmung über das geplante Digitale-Dienste-Gesetz (Digital Services Act, DSA) votierten die EU-Abgeordneten Ende Januar in Straßburg für mehrere Änderungsvorschläge. Demnach dür
Linux Magazin germany1 min read
It Profi Markt
Sie fragen sich, wo Sie maßgeschneiderte Linux-Systeme sowie kompetente Ansprechpartner zu Open-Source-Themen finden? Der IT-Profimarkt weist Ihnen hier als zuverlässiges Nachschlagewerk den richtigen Weg. Die im Folgenden gelisteten Unternehmen besc

Related Books & Audiobooks