

Beschreibung
Die praxisorientierte Einführung in OOPKomplexe 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...Die praxisorientierte Einführung in OOPKomplexe 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.Unverzichtbare Skills für guten CodeVon den Prinzipien über den Entwurf bis zur UmsetzungViele Praxistipps, UML-Diagramme und Codebeispiele Aus dem Inhalt:Prinzipien des objektorientierten EntwurfsKapselung von DatenPolymorphieStruktur objektorientierter SoftwareKlassen und PrototypenKonkrete und abstrakte DatentypenBeziehungen zwischen ObjektenKlassen von Werten und ObjektenVererbungsbeziehungenMehrfachvererbungStatische und dynamische KlassifizierungPersistenzErzeugung und Zerstörung von ObjektenObjekte in Aktion und in InteraktionObjekte als VertragspartnerModule als konfigurierbare und änderbare KomponentenMVCAspekte und ObjektorientierungBeispielprojektGlossar
»Ein herausragendes Werk zu den Prinzipien der Objektorientierung.«
Vorwort
Das umfassende Handbuch. Die Prinzipien guter Objektorientierung auf den Punkt erklärt
Autorentext
Diplom-Informatiker Stefan Strich arbeitet als Entwickler und Systemanalytiker im Bereich 'Order Management' bei einem großen Telekommunikationsunternehnen. Er ist für komplexe Systeme verantwortlich, die ohne Objektorientierung nicht denkbar wären.
Klappentext
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.
Aus dem Inhalt:
Glossar
Inhalt
Materialien zum Buch ... 12
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.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.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.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.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.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.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.1 ... Module als konfigurierbare und änderbare Komponenten ... 511
8.2 ... Die Präsentationsschicht: Model, View, Controller (MVC) ... 520
9.1 ... Trennung der Anliegen ... 533
9.2 ... Aspektorientiertes Programmieren ... 545
9.3 ... Anwendungen der Aspektorientierung ... 556
9.4 ... Annotations ... 569
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