Saturday, 14 February 2009, 13:05 von Blackflash

Seit einiger Zeit gab es keine neuen Artikel von mir, was einerseits an Zeitmangel lag und andererseits daran, dass mir einige Aspekte meines Blogs nicht gefallen. Ohne allzu sehr auf diese Aspekte einzugehen, möchte ich einige Ideen vorstellen, die ich mir für meinen Blog vorstellen kann.

Ich beginne mit einer Aufnahme der Aspekte, die das neue Konzept enthalten sollte oder könnte, womit [...]



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ä[...]



Biphrost: Application

Thursday, 09 October 2008, 14:45 von Blackflash

Bei der Application-Klasse handelt es sich um das Herzstück jeder Bifrost-Applikation. Die Funktionalitäten sind schnell beschrieben:

  • Die Verwaltung von Pfaden (Templates, Einstiegspunkte, Applikationscode).
  • Verwaltung und Wahl eines geeigneten Dispatchers (i.d.R. aufbauend auf dem Pfad der Einstiegspunkte).
  • Verwalten eines prototypischen Transfer-Objekts.
  • Transfer-Objekte vorbereiten und nachber[...]


Biphrost: Template

Monday, 06 October 2008, 18:11 von Blackflash

Wie fast jedes Framework verfügt auch Bifrost über eine Template-Engine. Im Gegensatz zu vielen anderen Entwicklungen stellt die Template-Klasse aus Bifrost lediglich einen leichtgewichtigen Wrapper für PHP-Templates dar. Ziel ist es nicht, möglichst viele Funktionalitäten bereitzustellen, sondern einen Container anzubieten, der in den Einstiegspunkten mit Daten gefüllt wird und am Ende der [...]



Biphrost: Dispatcher

Monday, 06 October 2008, 17:26 von Blackflash

Der Dispatcher wurde, wie der Name bereits suggeriert, zum Abfertigen von Anfragen entworfen. Dazu benötigt er den Einstiegspunkt-Algorithmus, der in einer iterativen Variante implementiert wurde und somit verständlicher ist als die rekursive Variante und sich in der Methode findEntrance befindet:

$components = ($uri == '/' ? array('index') : array_filter(explode('/', $uri))); $dir = $this->[...]


Biphrost: Transfer

Friday, 03 October 2008, 19:02 von Blackflash

Die eigentliche Aufgabe der Transfer-Komponente besteht im Transport von Daten zwischen verschiedenen Schichten, weshalb die die Transfer-Klasse das Data-Transfer-Object-Entwurfsmuster implementiert. Ein wesentlicher Aspekt dieses Entwurfsmusters ist das Fehlen jeglicher Funktionalität, wenn man vom Zugriff und dem Halten der Daten absieht.
Nebeneffekt dieses Konzepts ist das Vermeiden von g[...]



Friday, 03 October 2008, 13:16 von Blackflash

Dieser Artikel soll einen kurzen Überblick über die wesentlichsten Aspekte von Bifrost liefern. Es handelt sich dabei um folgende Themen:

  • Ordnerstruktur
  • Komponenten
  • Abarbeitung von Anfragen


Nach dem Entpacken des Bifrost-Archivs erscheint folgende Ordnerstruktur:

  • application: Sammelordner für eine bestimmte Applikation.
  • application/code: Code für die Applikation und Bibliotheken sind Inhalt [...]



Friday, 03 October 2008, 13:15 von Blackflash

Bei Biphrost (eigentlich Bifröst) handelt es sich um die konsequente Weiterentwicklung des Algorithmus aus dem letzten Blog-Artikel. Der Name entstammt der nordischen Mythologie und beschreibt die dreistrahlige Regenbogenbrücke zwischen Midgard und Asgard und damit die Verbindung zwischen "Himmelsreich" und "Erdenwelt", übertragen stellt es die Brücke zwischen den Benutzern und der Applikation dar[...]



Einstiegspunkte (in Webapplikationen)

Monday, 29 September 2008, 14:41 von Blackflash

Dieses Mal geht es um Einstiegspunkte und eine fast schon triviale Idee, um diese Einstiegspunkte zu strukturieren.

Einstiegspunkte sind die Punkte, an denen die Applikation anfängt, eine Abfrage abzuarbeiten. Das ist vor allem, wenn auch nicht ausschließlich, bei Webapplikationen notwendig. Jeder, der bereits mit PHP gearbeitet hat, dürfte dieses Konzept kennen, denn eine (von außen sichtb[...]



Gedanken zu Googles AppEngine

Friday, 11 April 2008, 20:38 von Blackflash

Vor einigen Tagen wurde ich durch einen Heise-Artikel auf Googles AppEngine aufmerksam. Selbsterklärtes Ziel ist die Bereitstellung von Googles Infrastruktur, was heißt, dass Entwickler dort ihre Projekte hosten können und sich keine Sorgen um Skalierbarkeit machen müssen. Da Google wohl über eine der besten, wenn nicht gar die beste Infrastruktur verfügt, kann man daraus durchaus Vorteile zi[...]