Mehrseitige Formulare

Sunday, 21 December 2008, 17:07 von Blackflash

Mehrseitige Formulare werden in vielen komplexen Webanwendungen benötigt und werden häufig als statische Verkettung von verschiedenen Controllern implementiert. Es gibt allerdings eine einfache Alternative unter Nutzung von Entwurfsmustern, namentlich Zuständigkeitskette (engl. Chain of Responsibility) und Datentransferobjekt.

Mithilfe der Zuständigkeitskette komponieren wir mehrere eigenstä[...]



Closures in PHP 5.3

Sunday, 03 August 2008, 11:58 von Blackflash

Seit PHP 5.3 (derzeit als Alpha verfügbar) gibt es zwei neue und stark korrelierende Features: Closures und Lambda-Funktionen. Diese möchte ich mit diesem Artikel eingehend erläutern und mit einem praktisch, wenn auch sehr allgemein gehaltenem, Beispiel erläutern.
Beginnen wir mit den Begriffsdefinitionen:

  • Lambda-Funktionen sind anonyme Funktionen (besitzen also keinen Namen), die als Callba[...]



Saturday, 22 March 2008, 11:50 von Blackflash

Nun, der Titel scheint ein wenig übertrieben, ob er es auch ist, darf jeder für sich entscheiden; aber dennoch halte ich das Singleton-Entwurfsmuster in den meisten Fällen für eine Fehlentscheidung. Weshalb? Troels Knak-Nielsen beschäftigt sich in einem Artikel auf Sitepoint auch mit dieser Frage. Nichtsdestotrotz möchte ich selbst meine Gedanken beschreiben, weil sie, so hoffe ich, pragmatische[...]



Flexible URL-Struktur

Friday, 21 March 2008, 17:39 von Blackflash

Wer sich ein wenig mit MVC-Frameworks beschäftigt hat, die Konvention über Konfiguration stellt, wird sicherlich auch die Systeme kennen, mit denen man einem URL einen Controller und eine Action zuweisen kann. Um das spezifische Aussehen der Aufrufe (der verschiedenen Frameworks) zu verwischen, verwende ich ein eher abstraktes Gebilde: Foo::bar(id => 42, anotherId => 23).
Hierbei entsp[...]



Lazy Iterator

Monday, 25 February 2008, 11:11 von Blackflash

Auf Grundlage des vorangegangenen Artikels habe ich eine Beschreibung des beschriebenen Konzepts angefertigt. Ob das Konzept wert ist, als Entwurfmuster bezeichnet zu werden, kann ich nicht sagen, aber ich denke, es geht zumindest in diese Richtung und ist ein wertvoller Zusatz zum ursprünglichen Iterator-Entwurfsmuster. Genannt habe ich das Konzept Lazy Iterator, da der Name die wesentlichs[...]



Saturday, 16 February 2008, 00:00 von Blackflash

Wer sich mit Entwurfsmuster objektorientierter Sprachen auskennt, wird sicherlich etwas mit der Zuständigkeitskette (engl. Chain of Responsibility) anfangen können. Während die Implementation auf verschiedene Weise erfolgen kann, ist das Prinzip dasselbe: Eine Anfrage wird solange an der Kette weitergereicht, bis sich ein Kettenglied findet, das zuständig dafür ist. Da ich derzeit an einem Ha[...]



Unit of Work Implementation

Friday, 30 November 2007, 17:13 von Blackflash

Vor einiger Zeit gab es im Zend Framework Forum eine Diskussion über die sinnvolle Implementation des Unit of Work-Patterns. Da ich diesen Pattern bereits aus dem Buch Patterns of Enterprise Application Architecture von Martin Fowler kenne, habe ich mich natürlich rege an dieser Diskussion beteiligt. Zu dem Zeitpunkt hatte ich den Pattern allerdings noch nie implementiert, was es schwierig mach[...]