Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Die Basis der Objektorientierung
3 Die Prinzipien des objektorientierten Entwurfs
4 Die Struktur objektorientierter Software
5 Vererbung und Polymorphie
6 Persistenz
7 Abläufe in einem objektorientierten System
8 Module und Architektur
9 Aspekte und Objektorientierung
10 Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax
A Verwendete Programmiersprachen
B Literaturverzeichnis
Stichwort
Ihre Meinung?

Spacer
 <<   zurück
Objektorientierte Programmierung von Bernhard Lahres, Gregor Rayman
Das umfassende Handbuch
Buch: Objektorientierte Programmierung

Objektorientierte Programmierung
2., aktualisierte und erweiterte Auflage, geb.
656 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1401-8
Pfeil 10 Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax
  Pfeil 10.1 OOP in PHP
    Pfeil 10.1.1 Klassen in PHP
    Pfeil 10.1.2 Dynamische Natur von PHP
  Pfeil 10.2 Das entwickelte Framework – Trennung der Anliegen – Model View Controller
    Pfeil 10.2.1 Trennung der Daten von der Darstellung
  Pfeil 10.3 Ein Dienst in PHP
    Pfeil 10.3.1 Datenmodell
    Pfeil 10.3.2 Dienste – Version 1
  Pfeil 10.4 Ein Klient in Ajax
    Pfeil 10.4.1 Bereitstellung der Daten
    Pfeil 10.4.2 Darstellung der Daten
  Pfeil 10.5 Ein Container für Dienste in PHP
    Pfeil 10.5.1 Dispatcher
    Pfeil 10.5.2 Fabrik
    Pfeil 10.5.3 Dependency Injection
    Pfeil 10.5.4 Sicherheit
  Pfeil 10.6 Ein Klient ohne JavaScript
  Pfeil 10.7 Was noch übrigbleibt


Rheinwerk Computing - Zum Seitenanfang

10.2 Das entwickelte Framework – Trennung der Anliegen – Model View Controller  Zur nächsten ÜberschriftZur vorigen Überschrift

Nun genug der allgemeinen Beschreibung von PHP, schließlich soll dieses Buch nicht das PHP-Handbuch ersetzen. Vielmehr wollen wir Ihnen einige der im Buch bereits vorgestellten Konzepte anhand einer Umsetzung in PHP praktisch demonstrieren.

Eine einfache PHP-Anwendung besteht oft aus einer Reihe von PHP-Dateien, in denen die Logik der Anwendung als PHP-Skript formuliert ist, das mit der Struktur der Darstellung in HTML vermischt wird. Dies ist für sehr einfache Anwendungen akzeptabel; sobald eine Anwendung aber komplexer wird, wird diese Struktur zu einem Verwaltungsalptraum.

In diesem Kapitel schreiben wir ein kleines Framework, das uns ermöglicht, die Struktur der Darstellung von der Geschäftslogik der Anwendung zu trennen. Dabei verwenden wir den in Abschnitt 8.2 bereits beschriebenen Ansatz zur Trennung der Anliegen in der Präsentationsschicht: Model-View-Controller. Um das Framework praktisch zu demonstrieren, werden wir dazu auch gleich eine kleine Anwendung schreiben – eine kleine Kontaktdatenbank, in der wir die Adressen, Telefonnummern und andere Daten unserer Freunde speichern können.


Rheinwerk Computing - Zum Seitenanfang

10.2.1 Trennung der Daten von der Darstellung  topZur vorigen Überschrift

Trennung der Anliegen Prinzip einer einzigen Verantwortung Trennung der Schnittstelle von der Implementierung

In unserer Anwendung wollen wir die Geschäftslogik von der Darstellungslogik trennen. Mit »trennen« meinen wir aber natürlich nicht, dass diese Aspekte unserer Anwendung nicht mehr zusammenhängen. Im Gegenteil – wir wollen den Zusammenhang zwischen diesen zwei Teilen unserer Anwendung formalisieren und ihn klar dokumentieren. Wir wollen eine formelle Schnittstelle definieren, so dass die Geschäftslogik und die Darstellungslogik unserer Anwendung nicht mehr von der Implementierung des jeweils anderen Teiles abhängig sind, sondern nur von der definierten Schnittstelle. Dies ermöglicht uns, die Teile der Anwendung unabhängig voneinander zu ändern – und zum Beispiel mehrere Varianten der Darstellung für dieselbe Geschäftslogik bereitzustellen. Für Programmierer, die unsere Anwendung pflegen sollten, klingt dies doch viel besser als eine Mischung von HTML und PHP in vielen Dateien, nicht wahr?

Nun, was verstehen wir hier unter eine Schnittstelle? Man sollte sich an dieser Stelle keine Schnittstelle eines Objekts mit einer Liste von Operationen vorstellen. Unsere Anwendungsschnittstelle besteht aus einer dokumentierten Vorgehensweise, wie die Darstellung auf die Daten der Geschäftslogik zugreift und wie sie Aktionen der Geschäftslogik auslöst.

Ich denke, es wird in einem Buch mit diesem Titel keinen überraschen, wenn wir die Schnittstelle als eine Gruppe von Objekten beschreiben.

Unsere Anwendungsschnittstelle wird aus Objekten – Diensten (Services) – bestehen. Jeder Dienst wird eine Reihe von Operationen bereitstellen, mit denen die Darstellungslogik die Daten abfragen und die Aktionen der Geschäftslogik auslösen kann.

Der Klient (die Darstellungslogik) verwendet die Dienste der Anwendungsschnittstelle.

Der Anbieter der Schnittstelle (die Geschäftslogik) implementiert diese Dienste-Anwendungsschnittstelle.

Unsere Anwendungsschnittstelle wird also aus einer Gruppe von Objektschnittstellen bestehen.

Icon Beispiel

Ein Beispiel einer solchen Objektschnittstelle wäre der Dienst Sicherheit, der die Methoden benutzerAnlegen, anmelden, abmelden und andere bietet.

class Sicherheit { 
   public function anmelden($benutzername, $kennwort) { 
      ... 
   } 
 
   public function abmelden() { 
      ... 
   } 
 
   public function benutzerAnlegen($username) { 
      ... 
   } 
... 
}

Listing 10.2    Beispiel eines Dienstes in PHP

Widmen wir uns jetzt zuerst der Geschäftslogik, und implementieren wir unseren ersten Dienst – einen Dienst, der uns die Kontaktdaten unserer Freunde aus der Datenbank zurückgibt.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  Zum Rheinwerk-Shop
Neuauflage: Objektorientierte Programmierung






Neuauflage:
Objektorientierte Programmierung

Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: C++ Handbuch






 C++ Handbuch


Zum Rheinwerk-Shop: Einstieg in Python






 Einstieg in Python


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern