Wenn man sich eingehender mit MVC beschäftigt stellt man fest, dass es ziemlich schwierig ist die Schichten so anzulegen, dass sie vollständig von einander entkoppelt sind. Ein Knackpunkt dabei ist die Datenübertragung. Wie teilt die Business Logic der Präsentationsschicht Daten mit? Hierbei könnte man natürlich auf das gute alte $GLOBALS-Array zurückgreifen. Dies ist zwar eine Lösung aber keine gute. Wir sollten vielmehr die Daten aus einer Schnittstelle beziehen und sie auch dorthin speichern, damit andere Klassen über die fixen Schnittstellen direkt wieder darauf zugreifen können.
Dabei hilft uns das Registry Pattern. Es stellt eine Klasse dar, in der Daten abgelegt und wieder ausgelesen werden können. Hierzu wird für den globalen Zugriff das Singleton Pattern verwendet.
Schauen wir uns nun zunächst das UML-Diagramm an: Continue reading »
written by Alexander
\\ tags: design pattern, globals, oop, PHP, registry pattern
Heute widmen wir uns mal der Problemstellung, dass wir ein Script schreiben müssen, welches verschiedene Aktionen nacheinander ausführen muss, sozusagen ein Batch-Script in PHP. Wir nehmen an, dass wir eine Aktion haben, die etwas installiert, und eine, die etwas deinstalliert. Die Aktionen sollen beliebig kombinierbar sein und mit einem Befehl auszuführen sein.
In diesem Fall hilft uns das Command-Pattern. Hier registrieren wir eine bestimmte Menge von Kommandos auf einem Controller (hier Invoker), welcher diese dann ausführt. Bevor wir an die Implementation gehen, schauen wir uns kurz das UML-Diagramm an: Continue reading »
written by Alexander
\\ tags: batch, command, command pattern, design pattern, oop, PHP
Mit dem Singleton Pattern kann man bei der Implementierung von Anwendungen sicher stellen, dass von einer spezifischen Klasse immer nur genau eine Instanz vorhanden ist. Nehmen wir in unserem Beispiel einen Datenbankwrapper. In der Regel arbeiten wir mit _einer_ Datenbank und haben auch nur _eine_ Verbindung zu ihr. Dazu verwenden wir in unserem Beispiel einen Wrapper (natürlich ohne Funktionalität). Wir möchten also, dass von diesem Wrapper immer nur eine Instanz zur Verfügung steht, damit wir von jeder Stelle des Codes aus auf die selbe Instanz zugreifen können.
Schauen wir uns dazu einmal das UML-Diagramm an: Continue reading »
written by Alexander
\\ tags: design pattern, oop, PHP, singleton pattern
Da ich mich seit kurzem intensiv mit Entwurfsmustern auseinander setze, möchte ich jetzt eine Beispielimplementation für das Observer Pattern (Beobachter Muster) in PHP vorstellen.
Hierfür nehmen wir an, wir haben eine Datenquelle, die ein Array mit Punkteständen aus einem beliebigen Spiel übergeben bekommt. Wir möchten diese nun unabhängig von einander darstellen: Durchschnittliche Punktzahl, Summe aller Punkte. Wenn sich die Daten im Objekt der Spielstände ändern, sollen die Darstellungsobjekte automatisch benachrichtigt werden und Daten abrufbereit zur Verfügung stehen.
Continue reading »
written by Alexander
\\ tags: beobachter, design pattern, observer pattern, oop, PHP
Heute möchte ich wieder ein Buch vorstellen, welches sich mit der Softwareentwicklung in PHP 5 beschäftigt. Professionelle Softwareentwicklung mit PHP 5, geschrieben von Sebastian Bergmann, war eines meiner ersten Bücher, welches ich zum Thema PHP 5 zur Hand genommen habe. Ein Grund dazu war sicherlich, dass es das komplette Buch als HTML-Fassung im Netz gibt.
Eine Einleitung in die Programmierung mit Entwurfsmustern in PHP 5 ist ebenso enthalten, wie auch eine Einleitung in TDD (Test Driven Development) mit PHPUnit. Ein weiteres Kapitel beschäftigt sich mit der Migration von PHP 4 auf PHP 5. Auch die fortgeschrittenen Entwickler kommen mit Kapiteln über Datenbankabstraktion und die SPL nicht zu kurz.
Alle Kapitel sind voll gepackt mit Code-Beispielen, die das beschriebene deutlich veranschaulichen. Abgerundet werden diese Beispiele durch UML-Diagramme.
Meiner Meinung nach ist dieses Buch ein guter Einstieg für Umsteiger von PHP 4 auf PHP 5.
Autor: Sebastian Bergmann
Verlag: dpunkt.verlag
ISBN: 3-89864-229-1
HTML-Version: http://www.professionelle-softwareentwicklung-mit-php5.de
Ich verabschiede mich mal ins Wochenende
. Der nächste Eintrag wird dann frühestens am Sonntag kommen. Schönes WE
.
written by Alexander
\\ tags: design pattern, entwicklungsmuster, entwurfsmuster, oop, PHP
Kommentare