Linktipps #1

Samstag, 13 Juni 2009, 21:57 von Blackflash

Da ich sehr viel im Internet lese, stoße ich häufig auch auf neue und interessante Artikel, die ich hier als Linktipps weitergeben und kommentieren möchte. Natürlich werde ich versuchen, diese Linktipps möglichst regelmäßig, am besten wöchentlich, zu verfassen. Tatsächlich habe ich bereits zwei solcher Linktipps verfasst, allerdings nur zu dem speziellem Thema Monaden. Bei den Linktipps soll es si[...]



Mehrseitige Formulare

Sonntag, 21 Dezember 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ä[...]



Traits und PHP

Montag, 18 Februar 2008, 23:48 von Blackflash

Eben bin ich auf ein Proposal für PHP gestoßen: Es handelt sich um Traits. Das Konzept war mir bis dato unbekannt, aber nach dem Lesen des RFC-Artikels des Autors wurde mir einiges klarer. Der Artikel ist recht umfangreich, aber die Idee ist schnell formuliert:
1.) Traits enthalten wiederverwendbaren Code.
2.) Man kann ihn in jegliche Klassen einbinden.
3.) Es gibt viele Möglichkeiten, Konflikt[...]




Unit of Work Implementation

Freitag, 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[...]



Methoden statt Variablen

Dienstag, 02 Oktober 2007, 10:49 von Blackflash

Ein Punkt, der mich beim Zend Framework irritiert hat, war die Klasse Zend_Db_Table_Abstract. Ich musste dort einen Tabellennamen in eine Variable schreiben. Klingt eigentlich ganz normal, aber was passiert, wenn man das vergisst? Der Fehler tritt erst auf - meist mit einer Fehlermeldung, die nur aussagt, dass das Query falsch sei -, wenn man versucht ein Query an die Datenbank zu schicken. I[...]



Kapselung durch Konvention

Freitag, 28 September 2007, 08:55 von Blackflash

Als ich letztens die Bootstrap-Datei für MVCLite programmiert habe, stellte sich die Frage, wie ich gleichartige, damit meine ich die gleiche Intention, optimal kapseln kann. Die Intention ist auch sehr schnell beschrieben: Ich möchte die Applikation initialisieren. Die erste Idee war natürlich eine simple PHP-Datei, in der man alles machen kann, was man machen möchte. Vom Aufbau her wäre di[...]



Fluent Interfaces und der PHP-Weg

Donnerstag, 06 September 2007, 11:23 von Blackflash

Bereits vor einiger Zeit bin ich auf Fluent Interfaces von Martin Fowler gestoßen. Es ist ein einfaches Prinzip mit dem man sich ein wenig Schreibarbeit ersparen kann. Nur zur Information erkläre ich das Prinzip auf die Schnelle:

class Foo { public function doSomething () { // do something } public function doAnotherThing () { // do another thing } public functio[...]

Semantik im MVC-Pattern

Mittwoch, 29 August 2007, 09:53 von Blackflash

Wer schon häufiger und vor allem auch umfangreicher mit dem MVC-Pattern programmiert hat - sei es mit einem Framework wie dem Zend Framework oder einer Eigenproduktion, sowie bei mir MVCLite - wird wissen, dass es gelegentlich gar nicht so einfach ist, seine Controller zu gestalten.
Was macht es schwierig? Die Interdependenzen.
Warum? Eine Komponente gehört logisch zu einer anderen Komponente.
[...]




Dienstag, 28 August 2007, 10:03 von Blackflash

Da ich bei meinem derzeitigen Ansatz an die Grenzen stoße - oder zumindest deren Schwachstellen erkenne -, habe ich mir gedacht, ich muss einen neuen Ansatz entwickeln, oder den alten zumindest erweitern. Aber bevor ich es zum Besten gebe, werde ich nochmal den alten Ansatz erläutern.

Allerdings werde ich zuerst noch die Problemstellung beschreiben.
Bei der Seitenstruktur geht es um das Er[...]




Interfaces und abstrakte Klassen

Donnerstag, 23 August 2007, 11:08 von Blackflash

Vor einigen Tagen hatte ich das Vergnügen, einem Freund bei einem Detail zu helfen: Wann verwendet man Interfaces und wann abstrakte Klassen? Diese Fragestellung brachte mich erstmal ins Grübeln, aber kurz darauf sind mir einige Argumente eingefallen, wann man welchen Typ benutzt.

Zuerst müssen wir nochmal die Unterscheidung beider Ansätze heraustellen:

  • Abstrakte Klassen
    • können Eigenschaf[...]