Schulung: Rock Solid OO-Design
Von der Pike auf richtig
- Grundlagen von gelungenen OO-Designs
- Gängige Prinzipien wie SOLID, Law of Demeter, KISS usw.
- Optionaler Einblick in Generics
Gelungenes objektorientiertes Design ist gar nicht so einfach zu erreichen. In der Praxis entsteht recht schnell eine Klassenhierarchie, ohne aber Dingen wie Kapselung, Kohäsion und den SOLID-Prinzipien genug Beachtung zu schenken. Im Kurs lernen wir wie man Vererbung und Delegation richtig einsetzt. Nach dem Kurs werden Sie Compile-Time- und Runtime-Type sowie Polymorphie verstehen und wissen, was es mit Overloading und Overriding auf sich hat. Schließlich hilft es, über Entwürfe mit anderen zu diskutieren. Dazu benötigt es ein klein wenig Wissen über die UML. Auch dieses wird vermittelt.
Kursziel
Zumindest einige zentrale Design Prinzipien und Begrifflichkeiten sollten Entwickelnde geläufig sein, um anspruchsvolle, wartbare und zukunftsträchtige sowie elegante Lösungen erstellen zu können. Frischen Sie Ihre Kenntnisse im Bereich Design Prinzipien wie SOLID, DRY, KISS usw. mit diesem Workshop auf.
Schnelleinstieg UML
Grundlagen
- OO-Design-Basics
- Kapselung, Kohäsion und Kopplung
- OO-Entwurf eines Zählers
- Vererbung
- IS-A / HAS-A
- Polymorphie
- Overloading und Overriding
- Objektzustand kontrollieren
- Schnittstellen entwerfen
- (abstrakte) Basisklassen richtig verwenden
Fortgeschrittene OO-Themen
- Probleme durch Vererbung
- Delegation statt Vererbung
- Read-Only-Interfaces
Bausteine stabiler Software – grundsolides OO-Design
- SOLID an praktischen Beispielen erklärt
- Single Responsibility
- Open Closed
- Liskov Substitutio
- Interface Seggregation
- Dependency Inversion
- Law Of Demeter
- KISS
- Immutability
Optional: Secrets of Generics
- Basics
- Formen der Varianz
- Type Erasure und Auswirkungen
- Eigene generische Methoden und Typen
Software-Entwickelnde, die ihr Wissen über objektorientiertes Design ausbauen wollen, um stabile, wartbare Software zu entwickeln.
Technische Voraussetzungen
• Aktuelle IDE (Eclipse oder IntelliJ)
• Aktuelles Java 17, 21 oder neuer
• Notebook mit der Möglichkeit, Sourcen und Beispiele aus dem Netz von GitHub herunterzuladen
Mindestanzahl Teilnehmende: 3 Personen