Objektorientierte Programmierung - Bernhard Lahres, Gregor Raýman, Stefan Strich

Objektorientierte Programmierung

Das umfassende Handbuch
Buch | Hardcover
688 Seiten
2021 | 5. Auflage
Rheinwerk (Verlag)
978-3-8362-8317-5 (ISBN)
49,90 inkl. MwSt
Die Prinzipien guter Objektorientierung auf den Punkt erklärt

  • Objektorientierte Programmierung verständlich erklärt
  • Von den Prinzipien über den Entwurf bis zur Umsetzung
  • Viele Praxistipps, UML-Diagramme und Codebeispiele
  • Sauberer Code und Best Practices für alle wichtigen OOP-Sprachen

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 wegzudenken ist.

In diesem Buch finden Sie alles, was Sie brauchen, um sich gründlich einzuarbeiten und die Prinzipien der OOP 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 so manches lehrreiche Detail erst auftaucht, wenn Sie konkrete Probleme lösen, 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 objektorientierte Programmierung konsequent realisieren können. So profitieren Sie von der langjährigen Erfahrung der Autoren mit allen Aspekten der Entwicklung komplexer Software.

Einstieg und Grundlagen
Machen Sie sich mit Begriffen wie Polymorphie, Kapselung und Komposition vertraut. Lernen Sie, die Prinzipien des objektorientierten Entwurfs anzuwenden. So sorgen Sie schon zu Beginn Ihrer Projekte für Stabilität und Erweiterbarkeit und schreiben Code, der auch übermorgen noch geschätzt wird.

Details und Best Practices
Erst bei der Lösung konkreter Probleme kommen die lehrreichen Details auf den Tisch. Unsere Autoren nehmen sie sich nacheinander vor und bleiben dabei immer praktisch. Sie diskutieren die Pros und Cons verschiedener Designs, analysieren Implementierungen und geben viele wertvolle Tipps.

Konkrete Implementierungen
Zahlreiche UML-Diagramme und Codebeispiele in den gängigsten OOP-Sprachen zeigen Ihnen, wie Sie die Theorie der Objektorientierung am besten umsetzen. Ein umfassendes Abschlussprojekt stellt alles Gelernte noch einmal im Zusammenhang dar. Programmiererfahrung wird vorausgesetzt, bestimmte Sprachkenntnisse nicht.

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

Bernhard Lahres ist Software-Architekt und IT-Projektleiter bei einem großen Telekommunikationsunternehmen. Damit ist er für sehr große, komplexe Software-Systeme verantwortlich. Sein Hauptfokus liegt darauf, diese Komplexität in den Griff zu bekommen, um dennoch wartbare und erweiterbare Systeme zu realisieren. Er setzt dabei aus Überzeugung auf objektorientierte Methoden als Basis.

Gregor Raýman, Diplom-Mathematiker, arbeitet als Software-Berater und -Entwickler in den Branchen Industrie, Automobilindustrie, Dienstleistungen und Telekommunikation. Er ist technischer Architekt bei Oracle und arbeitet im Kompetenzzentrum für Mittel- und Osteuropa (ICCC).

Stefan Strich ist Diplom-Informatiker und arbeitet als System Delivery Manager und Softwarearchitekt bei T-Systems.



Materialien zum Buch ... 12


1. Einleitung ... 13


1.1 ... Was ist Objektorientierung? ... 13

1.2 ... Hallo liebe Zielgruppe ... 14

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

1.4 ... Warum überhaupt Objektorientierung? ... 22



2. Die Basis der Objektorientierung ... 27


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

2.2 ... Die Kapselung von Daten ... 31

2.3 ... Polymorphie ... 33

2.4 ... Die Vererbung ... 34



3. Die Prinzipien des objektorientierten Entwurfs ... 39


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

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

3.3 ... Prinzip 3: Wiederholungen vermeiden ... 48

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

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

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

3.7 ... Prinzip 7: mach es testbar ... 63



4. Die Struktur objektorientierter Software ... 65


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

4.2 ... Klassen: Objekte haben Gemeinsamkeiten ... 85

4.3 ... Beziehungen zwischen Objekten ... 120

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



5. Vererbung und Polymorphie ... 155


5.1 ... Die Vererbung der Spezifikation ... 155

5.2 ... Polymorphie und ihre Anwendungen ... 195

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

5.4 ... Mehrfachvererbung ... 265

5.5 ... Statische und dynamische Klassifizierung ... 295



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



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

10.3 ... Das Framework ... 594

10.4 ... Die Applikation ... 612

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



Anhang ... 639


A. Verwendete Programmiersprachen ... 641


B. Glossar ... 661


C. Die Autoren ... 675


Index ... 677

»Ein herausragendes Werk zu den Prinzipien der Objektorientierung.« Ahadesign.eu 202103

»Ein herausragendes Werk zu den Prinzipien der Objektorientierung.«

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Informatik Programmiersprachen / -werkzeuge NET Programmierung
Informatik Software Entwicklung Objektorientierung
Schlagworte Architektur • Clean Code • Entwurfsmuster • Java • JavaScript • Klassen-Design • Node.js • OOA • OOP • Python • Software-Design • Softwareentwicklung • UML
ISBN-10 3-8362-8317-4 / 3836283174
ISBN-13 978-3-8362-8317-5 / 9783836283175
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich