Im Rahmen der objektorientierten Softwareentwicklung nimmt die Design-Phase eine besondere Stellung ein. Mit besonderem Fokus auf die technische Realisierung der Anforderungen wird hier die architektonische Grundlage für robuste, skalierbare, wartbare und flexible Systeme geschaffen. Bewährte Entwurfsprinzipien lassen sich an allgemeinen strukturellen und dynamischen Aspekten sowie sprachspezifischen Eigenschaften (Java) formulieren. Entwurfsmuster kombinieren diese Aspekte und formulieren diese explizit und konstruktiv und stehen daher im Fokus dieses Seminars, ebenso wie Java-Idiome (sprachspezifische Muster) als Bindeglied zur Implementierungssprache. In vielen Bereichen der Softwareentwicklung ist es schwierig, so etwas wie Best Practices zu formulieren. Für OOD (objektorientiertes Design) gilt das aber gerade nicht, insbesondere die rasante Akzeptanz und Entwicklung von Entwurfsmustern hat gezeigt, dass Best Practices für das Design formulierbar und erlernbar sind.
Anmerkung: Grundlage des Seminars sind Diskussionen, Gruppenübungen und Java-spezifische Beispiele zur Umsetzung der Design-Prinzipien.
Inhalt
- Grundlegende Begriffe der Objektorientierten Programmierung (Klasse, Objekt, Vererbung, Assoziation, Aggregation, Komposition, Methode, Schnittstelle etc.)
- Polymorphie und ihre Anwendungsbereiche
- Vererbung versus Aggregation
- Grundprinzipien des Objektorientierten Designs (Kopplung, Kohäsion, Open/Close-Prinzip)
- Eine Exkursion zu den drei Amigos (UML)
- Verantwortungsgetriebene Klassenbildung
- Entkopplungsprinzipien (Trennung Schnittstelle-Implementierung, Trennung Erzeugung-Nutzung, Trennung Algorithmus-Datenstruktur u.a.)
- Was sind Entwurfsmuster?
- Zielsetzung und Anwendung von Entwurfsmustern
- Klassifizierung und Diskussion ausgewählter Entwurfsmuster
- Sprachidiome in Java (Konsequenzen aus dem Java-Objektmodell, gezielter Einsatz von Interfaces, innere Klassen)
- Design mit Generics
- Diskussion bestehender Frameworks wie dem AWT oder dem Java 2 Collection Framework
Zielgruppe
Projektleiter, Qualitätsmanager, Softwarearchitekten, Designer, Softwareentwickler.
Voraussetzungen
Teilnahme an Java für Quereinsteiger oder an Java für Programmieranfänger oder vergleichbare Kenntnisse unbedingt erforderlich. Erfahrung in der Entwicklung mit Java wünschenswert.
Dauer
4 Tage
Teilnehmer
4 bis 10 Personen