Galileo Computing < openbook > Galileo 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

Download:
- ZIP, ca. 5,2 MB
Buch bestellen
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
Galileo 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


Galileo 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.


Galileo 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.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Objektorientierte Programmierung






Objektorientierte Programmierung
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Tipp
Zum Katalog: Coding for Fun







 Coding for Fun


 Buchempfehlungen
Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: C/C++






 C/C++


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Python 3






 Python 3


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de