buchspektrum Internet-Buchhandlung

Neuerscheinungen 2018

Stand: 2020-02-01
Schnellsuche
ISBN/Stichwort/Autor
Herderstraße 10
10625 Berlin
Tel.: 030 315 714 16
Fax 030 315 714 14
info@buchspektrum.de

Bernhard Lahres, Gregor Rayman, Stefan Strich (Beteiligte)

Objektorientierte Programmierung


Das umfassende Handbuch. Objektorientierte Programmierung verständlich erklärt. Von den Prinzipien über den Entwurf bis zur Umsetzung. Sauberer Code und Best Practices für alle wichtigen OO-Sprachen
4., aktualisierte Auflage. 2018. 686 S. 24 cm
Verlag/Jahr: RHEINWERK VERLAG 2018
ISBN: 3-8362-6247-9 (3836262479)
Neue ISBN: 978-3-8362-6247-7 (9783836262477)

Preis und Lieferzeit: Bitte klicken


Die praxisorientierte Einführung in OOP

Unverzichtbare Skills für guten Code
Von den Prinzipien über den Entwurf bis zur Umsetzung
Viele Praxistipps, UML-Diagramme und Codebeispiele

Komplexe Projekte solide strukturieren, tragfähige Designs erstellen, guten Code schreiben und wartbare Software liefern: Dafür brauchen Entwickler ein Repertoire, aus dem Objektorientierung nicht mehr wegzudenken ist. In diesem Buch finden Sie alles, was Sie brauchen, um sich in die Objektorientierung einzuarbeiten und ihre Prinzipien zur Basis Ihrer eigenen Arbeit zu machen. Die Autoren erläutern alle Themen anschaulich und verständlich anhand einer Vielzahl typischer Beispiele. Mit UML-Diagrammen und gut kommentierten Codebeispielen in den gängigsten objektorientierten Sprachen bringen sie Ihnen die Umsetzung nahe. Da der Teufel bekanntlich im Detail steckt, ziehen sie viele praktische Anwendungsfälle heran und geben immer wieder Tipps, wie Sie bad smells vermeiden und sauberen Code schreiben. Anhand eines größeren Projekts bekommen Sie zudem einmal von Anfang bis Ende gezeigt, wie Sie OOP konsequent realisieren können. So profitieren Sie von der langjährigen Erfahrung der Autoren mit allen Aspekten der Entwicklung komplexer Software.

Aus dem Inhalt:

Prinzipien des objektorientierten Entwurfs
Kapselung von Daten
Polymorphie
Struktur objektorientierter Software
Klassen und Prototypen
Konkrete und abstrakte Datentypen
Beziehungen zwischen Objekten
Klassen von Werten und Objekten
Vererbungsbeziehungen
Mehrfachvererbung
Statische und dynamische Klassifizierung
Persistenz
Erzeugung und Zerstörung von Objekten
Objekte in Aktion und in Interaktion
Objekte als Vertragspartner
Module als konfigurierbare und änderbare Komponenten
MVC
Aspekte und Objektorientierung
Beispielprojekt
Glossar

1. Einleitung ... 15

1.1 ... Was ist Objektorientierung? ... 15

1.2 ... Hallo liebe Zielgruppe ... 16

1.3 ... Was bietet dieses Buch (und was nicht)? ... 18

1.4 ... Warum überhaupt Objektorientierung? ... 24

2. Die Basis der Objektorientierung ... 29

2.1 ... Die strukturierte Programmierung als Vorläufer der Objektorientierung ... 30

2.2 ... Die Kapselung von Daten ... 33

2.3 ... Polymorphie ... 35

2.4 ... Die Vererbung ... 36

3. Die Prinzipien des objektorientierten Entwurfs ... 41

3.1 ... Prinzip 1: Prinzip einer einzigen Verantwortung ... 42

3.2 ... Prinzip 2: Trennung der Anliegen ... 47

3.3 ... Prinzip 3: Wiederholungen vermeiden ... 49

3.4 ... Prinzip 4: offen für Erweiterung, geschlossen für Änderung ... 52

3.5 ... Prinzip 5: Trennung der Schnittstelle von der Implementierung ... 55

3.6 ... Prinzip 6: Umkehr der Abhängigkeiten ... 58

3.7 ... Prinzip 7: Mach es testbar ... 64

4. Die Struktur objektorientierter Software ... 67

4.1 ... Die Basis von allem: das Objekt ... 67

4.2 ... Klassen: Objekte haben Gemeinsamkeiten ... 86

4.3 ... Beziehungen zwischen Objekten ... 121

4.4 ... Klassen von Werten und Klassen von Objekten ... 137

5. Vererbung und Polymorphie ... 157

5.1 ... Die Vererbung der Spezifikation ... 157

5.2 ... Polymorphie und ihre Anwendungen ... 196

5.3 ... Die Vererbung der Implementierung ... 242

5.4 ... Mehrfachvererbung ... 265

5.5 ... Statische und dynamische Klassifizierung ... 294

6. Persistenz ... 305

6.1 ... Serialisierung von Objekten ... 305

6.2 ... Speicherung in Datenbanken ... 306

6.3 ... Abbildung auf relationale Datenbanken ... 313

6.4 ... Normalisierung und Denormalisierung ... 326

7. Abläufe in einem objektorientierten System ... 343

7.1 ... Erzeugung von Objekten mit Konstruktoren und Prototypen ... 344

7.2 ... Fabriken als Abstraktionsebene für die Objekterzeugung ... 355

7.3 ... Objekte löschen ... 404

7.4 ... Objekte in Aktion und in Interaktion ... 419

7.5 ... Kontrakte: Objekte als Vertragspartner ... 463

7.6 ... Exceptions: wenn der Kontrakt nicht eingehalten werden kann ... 479

8. Module und Architektur ... 511

8.1 ... Module als konfigurierbare und änderbare Komponenten ... 511

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

9. Aspekte und Objektorientierung ... 533

9.1 ... Trennung der Anliegen ... 533

9.2 ... Aspektorientiertes Programmieren ... 545

9.3 ... Anwendungen der Aspektorientierung ... 556

9.4 ... Annotations ... 569

10. Objektorientierung am Beispiel: eine Webapplikation in JavaScript ... 579

10.1 ... OOP in JavaScript ... 581

10.2 ... Die Anwendung im Überblick ... 588

10.3 ... Das Framework ... 593

10.4 ... Die Applikation ... 611

10.5 ... Ein Fazit -- und was noch übrig bleibt ... 635

Anhang ... 637

A ... Verwendete Programmiersprachen ... 639

B ... Glossar ... 659

C ... Die Autoren ... 673

Index ... 675