Nächste Seite: Das CLAM Muster
Aufwärts: Allgemeine Muster der Programmierung
Vorherige Seite: Allgemeine Muster der Programmierung
Inhalt
Das grundlegendste allgemeine Muster der
Programmierung, die von ARS abgeleitet werden
können, ist das Closure Muster. Eine Closure ist
eine Verkapselung einer Lambda-Abstraktion mit
ihrer gesamten Umgebung. Diese Umgebung besteht
aus allen Namen, auf die in
der entsprechenden Lambda-Abstraktion zugegriffen
werden kann. Der Zugriff auf Namen in einer
Lambda-Abstraktion wird durch das Prinzip des
`lexical scope' geregelt. `lexical scope' kann auch
mit Kontext der Lambda-Abstraktion in dem
Programmtext umschrieben werden.
Eine Closure ist ein first class object,
d.h. ein Objekt erster Klasse, mit dem umgegangen
werden kann, wie mit allen anderen Daten:
- es kann abgespeichert werden,
- es kann einer Funktion als Argument
übergeben werden und
- es kann aus einer Funktion heraus als Wert
zurückgeliefert werden.
Der feine Unterschied zwischen einer Closure und
einem Objekt in der Objekt-orientierten Technologie
ist folgender:
- Eine Closure ist im wesentlichen eine
Funktion, die aufgerufen werden kann, in
der aber alle möglichen Daten und Prozeduren
verkapselt sein können.
- Ein Objekt ist im wesentlichen ein
Datenelement in dem alle möglichen
Daten und Prozeduren verkapselt sein können.
Eine dieser verkapselten Prozeduren (Methoden)
könnte die `apply'-Methode sein, mit deren
Hilfe das Objekt `angewandt' werden kann auf ein
Menge von Argumenten, was dem Aufruf einer
Funktion entspricht.
Nächste Seite: Das CLAM Muster
Aufwärts: Allgemeine Muster der Programmierung
Vorherige Seite: Allgemeine Muster der Programmierung
Inhalt
Georg P. Loczewski
2003-07-18