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
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
In diesem Buch finden Sie alles, was Sie brauchen, um sich in die objektorientierte Programmierung einzuarbeiten. Die beiden Autoren erläutern alle Prinzipien und ihre Umsetzung anschaulich und verständlich anhand einer Vielzahl typischer Beispiele. Als Sprachen werden C++, Java, Ruby, C# und PHP eingesetzt.

Anhand eines größeren Projekts bekommen Sie zudem einmal von Anfang bis Ende gezeigt, wie Sie OOP konsequent realisieren können. Des Weiteren bietet das Buch eine Einführung in die aspektorientierte Programmierung.

Nutzen Sie die HTML-Version zum Reinschnuppern oder als immer verfügbare Ergänzung zu Ihrem Buch.

Auf unserer Katalogseite steht Ihnen ab sofort zusätzlich eine Volltextsuche im Buch zur Verfügung.

Die gedruckte Version des Buches erhalten Sie in unserem Online-Shop - versandkostenfrei innerhalb Deutschlands und Österreichs.
Zum Online-Shop

Inhaltsverzeichnis

1 Einleitung

1.1 Was ist Objektorientierung?

1.2 Hallo liebe Zielgruppe

1.3 Was bietet dieses Buch (und was nicht)?

1.3.1 Bausteine des Buchs
1.3.2 Crosscutting Concerns: übergreifende Anliegen
1.3.3 Die Rolle von Programmiersprachen

1.4 Warum überhaupt Objektorientierung?

1.4.1 Gute Software: Was ist das eigentlich?
1.4.2 Die Rolle von Prinzipien
1.4.3 Viele mögliche Lösungen für ein Problem
Galileo Computing

2 Die Basis der Objektorientierung

2.1 Die strukturierte Programmierung als Vorläufer der Objektorientierung

2.2 Die Kapselung von Daten

2.3 Polymorphie

2.4 Die Vererbung

2.4.1 Vererbung der Spezifikation
2.4.2 Erben von Umsetzungen (Implementierungen)
Galileo Computing

3 Die Prinzipien des objektorientierten Entwurfs

3.1 Prinzip 1: Prinzip einer einzigen Verantwortung

3.2 Prinzip 2: Trennung der Anliegen

3.3 Prinzip 3: Wiederholungen vermeiden

3.4 Prinzip 4: Offen für Erweiterung, geschlossen für Änderung

3.5 Prinzip 5: Trennung der Schnittstelle von der Implementierung

3.6 Prinzip 6: Umkehr der Abhängigkeiten

3.6.1 Umkehrung des Kontrollflusses

3.7 Prinzip 7: Mach es testbar

Galileo Computing

4 Die Struktur objektorientierter Software

4.1 Die Basis von allem: das Objekt

4.1.1 Eigenschaften von Objekten: Objekte als Datenkapseln
4.1.2 Operationen und Methoden von Objekten
4.1.3 Kontrakte: Ein Objekt trägt Verantwortung
4.1.4 Die Identität von Objekten
4.1.5 Objekte haben Beziehungen

4.2 Klassen: Objekte haben Gemeinsamkeiten

4.2.1 Klassen sind Modellierungsmittel
4.2.2 Kontrakte: die Spezifikation einer Klasse
4.2.3 Klassen sind Datentypen
4.2.4 Klassen sind Module
4.2.5 Sichtbarkeit von Daten und Methoden
4.2.6 Klassenbezogene Methoden und Attribute
4.2.7 Singleton-Methoden: Methoden für einzelne Objekte

4.3 Beziehungen zwischen Objekten

4.3.1 Rollen und Richtung einer Assoziation
4.3.2 Navigierbarkeit
4.3.3 Multiplizität
4.3.4 Qualifikatoren
4.3.5 Beziehungsklassen, Attribute einer Beziehung
4.3.6 Implementierung von Beziehungen
4.3.7 Komposition und Aggregation
4.3.8 Attribute
4.3.9 Beziehungen zwischen Objekten in der Übersicht

4.4 Klassen von Werten und Klassen von Objekten

4.4.1 Werte in den objektorientierten Programmiersprachen
4.4.2 Entwurfsmuster »Fliegengewicht«
4.4.3 Aufzählungen (Enumerations)
4.4.4 Identität von Objekten
Galileo Computing

5 Vererbung und Polymorphie

5.1 Die Vererbung der Spezifikation

5.1.1 Hierarchien von Klassen und Unterklassen
5.1.2 Unterklassen erben die Spezifikation von Oberklassen
5.1.3 Das Prinzip der Ersetzbarkeit
5.1.4 Abstrakte Klassen, konkrete Klassen und Schnittstellen-Klassen
5.1.5 Vererbung der Spezifikation und das Typsystem
5.1.6 Sichtbarkeit im Rahmen der Vererbung

5.2 Polymorphie und ihre Anwendungen

5.2.1 Dynamische Polymorphie am Beispiel
5.2.2 Methoden als Implementierung von Operationen
5.2.3 Anonyme Klassen
5.2.4 Single und Multiple Dispatch
5.2.5 Die Tabelle für virtuelle Methoden

5.3 Die Vererbung der Implementierung

5.3.1 Überschreiben von Methoden
5.3.2 Das Problem der instabilen Basisklassen
5.3.3 Problem der Gleichheitsprüfung bei geerbter Implementierung

5.4 Mehrfachvererbung

5.4.1 Mehrfachvererbung: Möglichkeiten und Probleme
5.4.2 Delegation statt Mehrfachvererbung
5.4.3 Mixin-Module statt Mehrfachvererbung
5.4.4 Die Problemstellungen der Mehrfachvererbung

5.5 Statische und dynamische Klassifizierung

5.5.1 Dynamische Änderung der Klassenzugehörigkeit
5.5.2 Entwurfsmuster »Strategie« statt dynamischer Klassifizierung
Galileo Computing

6 Persistenz

6.1 Serialisierung von Objekten

6.2 Speicherung in Datenbanken

6.2.1 Relationale Datenbanken
6.2.2 Struktur der relationalen Datenbanken
6.2.3 Begriffsdefinitionen

6.3 Abbildung auf relationale Datenbanken

6.3.1 Abbildung von Objekten in relationalen Datenbanken
6.3.2 Abbildung von Beziehungen in relationalen Datenbanken
6.3.3 Abbildung von Vererbungsbeziehungen auf eine relationale Datenbank

6.4 Normalisierung und Denormalisierung

6.4.1 Die erste Normalform: Es werden einzelne Fakten gespeichert
6.4.2 Die zweite Normalform: Alles hängt vom ganzen Schlüssel ab
6.4.3 Die dritte Normalform: Keine Abhängigkeiten unter den Nichtschlüssel-Spalten
6.4.4 Die vierte Normalform: Trennen unabhängiger Relationen
6.4.5 Die fünfte Normalform: Einfacher geht’s nicht
Galileo Computing

7 Abläufe in einem objektorientierten System

7.1 Erzeugung von Objekten mit Konstruktoren und Prototypen

7.1.1 Konstruktoren: Klassen als Vorlagen für ihre Exemplare
7.1.2 Prototypen als Vorlagen für Objekte
7.1.3 Entwurfsmuster »Prototyp«

7.2 Fabriken als Abstraktionsebene für die Objekterzeugung

7.2.1 Statische Fabriken
7.2.2 Abstrakte Fabriken
7.2.3 Konfigurierbare Fabriken
7.2.4 Registraturen für Objekte
7.2.5 Fabrikmethoden
7.2.6 Erzeugung von Objekten als Singletons
7.2.7 Dependency Injection

7.3 Objekte löschen

7.3.1 Speicherbereiche für Objekte
7.3.2 Was ist eine Garbage Collection?
7.3.3 Umsetzung einer Garbage Collection

7.4 Objekte in Aktion und in Interaktion

7.4.1 UML: Diagramme zur Beschreibung von Abläufen
7.4.2 Nachrichten an Objekte
7.4.3 Iteratoren und Generatoren
7.4.4 Funktionsobjekte und ihr Einsatz als Eventhandler
7.4.5 Kopien von Objekten
7.4.6 Sortierung von Objekten

7.5 Kontrakte: Objekte als Vertragspartner

7.5.1 Überprüfung von Kontrakten
7.5.2 Übernahme von Verantwortung: Unterklassen in der Pflicht
7.5.3 Prüfungen von Kontrakten bei Entwicklung und Betrieb

7.6 Exceptions: Wenn der Kontrakt nicht eingehalten werden kann

7.6.1 Exceptions in der Übersicht
7.6.2 Exceptions und der Kontrollfluss eines Programms
7.6.3 Exceptions im Einsatz bei Kontraktverletzungen
7.6.4 Exceptions als Teil eines Kontraktes
7.6.5 Der Umgang mit Checked Exceptions
7.6.6 Exceptions in der Zusammenfassung
Galileo Computing

8 Module und Architektur

8.1 Module als konfigurierbare und änderbare Komponenten

8.1.1 Relevanz der Objektorientierung für Softwarearchitektur
8.1.2 Erweiterung von Modulen

8.2 Die Präsentationsschicht: Model, View, Controller (MVC)

8.2.1 Das Beobachter-Muster als Basis von MVC
8.2.2 MVC in Smalltalk: Wie es ursprünglich mal war
8.2.3 MVC: Klärung der Begriffe
8.2.4 MVC in Webapplikationen: genannt »Model 2«
8.2.5 MVC mit Fokus auf Testbarkeit: Model-View-Presenter
Galileo Computing

9 Aspekte und Objektorientierung

9.1 Trennung der Anliegen

9.1.1 Kapselung von Daten
9.1.2 Lösungsansätze zur Trennung von Anliegen

9.2 Aspektorientiertes Programmieren

9.2.1 Integration von aspektorientierten Verfahren in Frameworks
9.2.2 Bestandteile der Aspekte
9.2.3 Dynamisches Crosscutting
9.2.4 Statisches Crosscutting

9.3 Anwendungen der Aspektorientierung

9.3.1 Zusätzliche Überprüfungen während der Übersetzung
9.3.2 Logging
9.3.3 Transaktionen und Profiling
9.3.4 Design by Contract
9.3.5 Introductions
9.3.6 Aspektorientierter Observer

9.4 Annotations

9.4.1 Zusatzinformation zur Struktur eines Programms
9.4.2 Annotations im Einsatz in Java und C#
9.4.3 Beispiele für den Einsatz von Annotations
Galileo Computing

10 Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax

10.1 OOP in PHP

10.1.1 Klassen in PHP
10.1.2 Dynamische Natur von PHP

10.2 Das entwickelte Framework – Trennung der Anliegen – Model View Controller

10.2.1 Trennung der Daten von der Darstellung

10.3 Ein Dienst in PHP

10.3.1 Datenmodell
10.3.2 Dienste – Version 1

10.4 Ein Klient in Ajax

10.4.1 Bereitstellung der Daten
10.4.2 Darstellung der Daten

10.5 Ein Container für Dienste in PHP

10.5.1 Dispatcher
10.5.2 Fabrik
10.5.3 Dependency Injection
10.5.4 Sicherheit

10.6 Ein Klient ohne JavaScript

10.7 Was noch übrigbleibt

Galileo Computing

A Verwendete Programmiersprachen

A.1 C++

A.2 Java

A.3 C#

A.4 JavaScript

A.5 CLOS

A.6 Python

A.7 Ruby

Galileo Computing

B Literaturverzeichnis

B.1 Allgemeine Bücher zur Softwareentwicklung

B.2 Bücher über die UML und die verwendeten Programmiersprachen



Ihr Kommentar

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






  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