Kontakt
Telefon +49 2161 17 58 83
Mobil +49 179 72 66 112
E-Mail info@ulrich-borchers.de

Auf der Überholspur: Businesslogik und MVC

Dies ist der erste von sechs Artikeln einer Serie über Businesslogik im MVC-Kontext. Ich möchte hiermit einen Weg aufzeigen, wie Businesslogik optimal strukturiert und - unter anderem - in MVC-Anwendungen integriert werden kann. Dieser Artikel gibt einen Überblick.

Relevant ist das Thema "Businesslogik und MVC" für Unternehmen, für die es wichtig ist, dass ihr Code und Softwarearchitektur zusammen mit dem Unternehmen wachsen und synchron sind. Auch rein projektbezogene und damit in sich geschlossene Implementierungen können teilweise von dem hier beschriebenen Ansatz profitieren. Wirklich mächtig ist das Konzept allerdings erst für solche Unternehmen, deren Business - teilweise oder ganz - in Form von Software lebt. Unternehmen, die ihre Logik als MVC-Anwendungen implementieren, möglicherweise verschiedene Frameworks einsetzen und unterschiedliche Ein-/Ausgabekanäle nutzen (zum Beispiel Webservices), können von diesem Ansatz profitieren.

Das Ergebnis, welches ich in diesen sechs Artikeln herleite, wird eine Schichtung sein, bei der Applikation und Businesslogik vollständig getrennt sind. Ich beschreibe hier nicht nur eine simple, statische Trennung von Verantwortlichkeiten, SONDERN werde eine integrative und ganz praktische Lösung zeigen. Es wird anschauliche Diagramme und funktionierenden PHP-Code geben. Der Mehrwert wird darin bestehen, dass ich neben der Schichtenbildung ganz konkret zeigen werde, wie mit dem Business-Delegate-Pattern und der SPL (Standard PHP Library) die Schichten optimal und flexibel verbunden werden, ohne dabei ein träges System zu erhalten - ganz im Gegenteil!

 

Hier ein kurzer Überblick über alle Artikel:

Teil 1: Das Vorhaben

Dieser einleitende Artikel zur Serie.

Teil 2: Models entzaubert - Logik versus Daten

Zuerst werde ich den Begriff des Models entzaubern. Das wird über die Frage, ob ein Model nur ein Wrapper für eine Tabelle ist, hinausgehen. Die Antwort wird nicht einfach nur NEIN oder sonstwie dogmatisch sein :-) Hieraus ergibt sich dann auch Klarheit darüber, was Businesslogik aus Sicht der praktischen Implementierung eigentlich bedeutet.

Teil 3: Das Business Delegate Pattern

Jetzt ist klar, was Models im Rahmen des vorstellten Ansatzes sind, wie deren Implementierung aussieht und wie sie in den MVC-Kontext eingebettet sind. Es ist auch klar, wie sich die Begriffe "Model" und "Businesslogik" zueinander verhalten und was das für die Implementierung in PHP bedeutet. Vor diesem Hintergrund werde ich das Business-Delegate-Pattern vorstellen, das eines der "Core J2EE Pattern" aus der Java-Welt ist. Für dieses Pattern werde ich eine Implementierung in PHP zeigen. Später wird diese Implementierung dazu dienen, Applikation und Logik miteinander zu verbinden und dabei die Flexibilität hoch zu halten.

Teil 4: Wie Schichten verbinden - Die Macht der SPL

Nun, da MVC-Architektur und Businesslogik entkoppelt nebeneinander stehen und durch eine Brücke (Business-Delegate-Pattern) optimal miteinander verbunden sind, greife ich in die SPL-Trickkiste. Ich werde unter anderem zeigen, wie sich Klassen und Interfaces der SPL nutzen lassen, um Komplexität zu verstecken und um die Performance beim Datenaustausch und bei der Kommunikation zwischen den Schichten maximal zu erhalten.

Teil 5: Wie Models verbinden - MVC und Businesslogik

Hier wird es richtig interessant: Dieser Artikel beschreibt die Integration des implementierten Business-Delegate-Pattern in eine MVC-Anwendung inklusive der Verwendung der SPL-Trickkiste. Die Implementierung des Pattern wird das praktische, konkrete "M" in MVC darstellen und eine Brücke zur Schicht der gekapselten Businesslogik sein.

Teil 6: Die Überholspur - Wie wir nun richtig Gas geben können!

Abschließend geht es ans Eingemachte. Hier beschreibe ich den wesentlichen Mehrwert, der erst jetzt deutlich geworden sein wird. Anhand eines Webservice werden wir sehen, wie die Businesslogik wiederverwendet wird. Außerdem werde ich zeigen, wie durch die beschriebene Architektur das komplette MVC-Framework austauschbar wird, ohne den logischen Kern der Implementierung zu gefährden. Übrigens wollte ich mir eigentlich das Wort "Wiederverwendung" ganz sparen. Ich hoffe aber sehr, in diesem letzten Artikel auch deutlich machen zu können, dass es sich dabei nicht um ein Buzzword handeln muss!

Zurück

Hands On PHP

Harter Hut

Programmiertes - Jenseits von Prosa.

Zend Certified Engineer
Zend Certified Engineer ZF
Oracle Certified Professional, MySQL 5.6 Developer
Sun Certified Java Programmer (SCJP)
Sun Certified Web Component Developer (SCWCD)
RSS
tl_files/open_clip_art/symbole/rss-icon.png  Abonnieren